#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main()
{
string num;
while (cin >> num, num != "0")
{
bool flag;
do
{
//這部分處理 sum += num*num 寫的有點亂,先隱藏起來避免影響各位閱讀
//以下是遞減的部分~
flag = 0;
string::size_type sz = num.size();
--sz;
while (flag == 0) //對num遞減1
{
if (num[sz] != '0') //從字串最右邊開始檢查,如果不等於0,可以直接減1,更改flag表示完成遞減
{
num[sz] = num[sz]-1;
flag = 1;
}
else //如果等於0,那就把0改成9,往左邊一位數移動,繼續檢查是否夠減
{
num[sz] = '9';
--sz;
}
}
if (num[0] == '0') //當上面遞減時出現01234時,刪去第一個0
{ //變成1234,否則會造成之後遞減時出現錯誤
num = num.substr(1);
}
cout << num << endl;
}while (!num.empty()); //字串不為空代表可以繼續減
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8c3N0cmVhbT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkKewogICAgc3RyaW5nIG51bTsKICAgIHdoaWxlIChjaW4gPj4gbnVtLCBudW0gIT0gIjAiKQogICAgewogICAgICAgIGJvb2wgZmxhZzsKICAgICAgICBkbwogICAgICAgIHsKCSAgICAvL+mAmemDqOWIhuiZleeQhiBzdW0gKz0gbnVtKm51bSDlr6vnmoTmnInpu57kuoLvvIzlhYjpmrHol4/otbfkvobpgb/lhY3lvbHpn7/lkITkvY3plrHoroAKICAgICAgICAgICAgLy/ku6XkuIvmmK/pgZ7muJvnmoTpg6jliIZ+CiAgICAgICAgICAgIGZsYWcgPSAwOwogICAgICAgICAgICBzdHJpbmc6OnNpemVfdHlwZSBzeiA9IG51bS5zaXplKCk7CiAgICAgICAgICAgIC0tc3o7CiAgICAgICAgICAgIHdoaWxlIChmbGFnID09IDApIC8v5bCNbnVt6YGe5ribMQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpZiAobnVtW3N6XSAhPSAnMCcpIC8v5b6e5a2X5Liy5pyA5Y+z6YKK6ZaL5aeL5qqi5p+l77yM5aaC5p6c5LiN562J5pa8MO+8jOWPr+S7peebtOaOpea4mzHvvIzmm7TmlLlmbGFn6KGo56S65a6M5oiQ6YGe5ribCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgbnVtW3N6XSA9IG51bVtzel0tMTsKICAgICAgICAgICAgICAgICAgICBmbGFnID0gMTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UgLy/lpoLmnpznrYnmlrww77yM6YKj5bCx5oqKMOaUueaIkDnvvIzlvoDlt6bpgorkuIDkvY3mlbjnp7vli5XvvIznubznuozmqqLmn6XmmK/lkKblpKDmuJsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBudW1bc3pdID0gJzknOwogICAgICAgICAgICAgICAgICAgIC0tc3o7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKG51bVswXSA9PSAnMCcpIC8v55W25LiK6Z2i6YGe5rib5pmC5Ye654++MDEyMzTmmYLvvIzliKrljrvnrKzkuIDlgIswCiAgICAgICAgICAgIHsgICAgICAgICAgICAgICAgICAvL+iuiuaIkDEyMzTvvIzlkKbliYfmnIPpgKDmiJDkuYvlvozpgZ7muJvmmYLlh7rnj77pjK/oqqQKICAgICAgICAgICAgICAgIG51bSA9IG51bS5zdWJzdHIoMSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgY291dCA8PCBudW0gPDwgZW5kbDsKICAgICAgICB9d2hpbGUgKCFudW0uZW1wdHkoKSk7IC8v5a2X5Liy5LiN54K656m65Luj6KGo5Y+v5Lul57m857qM5ribCiAgICB9CiAgICByZXR1cm4gMDsKfQo=