#include <iostream>
#include <vector>
void test(std::vector<int> v)
{
int size = v.size();
bool carry = true;
int i = size - 1;
do
{
if (v.at(i) == 0)
{
v.at(i) = 9;
}
else
{
v.at(i)--;
carry = false;
}
--i;
}
while ( carry == true && i >= 0);
for ( auto item : v )
{
std::cout << item << " ";
}
std::cout << std::endl;
}
int main()
{
test({1, 1, 1, 1, 9});
test({5, 0, 0, 0, 0});
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgoKdm9pZCB0ZXN0KHN0ZDo6dmVjdG9yPGludD4gdikKewogICBpbnQgc2l6ZSA9IHYuc2l6ZSgpOwogICBib29sIGNhcnJ5ID0gdHJ1ZTsKICAgaW50IGkgPSBzaXplIC0gMTsKICAgZG8KICAgewogICAgICBpZiAodi5hdChpKSA9PSAwKQogICAgICB7CiAgICAgICAgIHYuYXQoaSkgPSA5OwogICAgICB9CiAgICAgIGVsc2UKICAgICAgewogICAgICAgICB2LmF0KGkpLS07CiAgICAgICAgIGNhcnJ5ID0gZmFsc2U7CiAgICAgIH0KICAgICAgLS1pOwogICB9CiAgIHdoaWxlICggY2FycnkgPT0gdHJ1ZSAmJiBpID49IDApOwoKICAgZm9yICggYXV0byBpdGVtIDogdiApCiAgIHsKICAgICAgc3RkOjpjb3V0IDw8IGl0ZW0gPDwgIiAiOwogICB9CiAgIHN0ZDo6Y291dCA8PCBzdGQ6OmVuZGw7Cn0KCmludCBtYWluKCkKewogICB0ZXN0KHsxLCAxLCAxLCAxLCA5fSk7CiAgIHRlc3QoezUsIDAsIDAsIDAsIDB9KTsKfQo=