#include<stdio.h>
int init_number(int x, int key);
int temp = 0;
int number;
int test_num;
int main()
{
int flg;
for(test_num = 0 ;; test_num++)
{
temp = 0;
flg = init_number(test_num, number);
if(flg == 1)
{
break;
}
else if(flg == -1)
{
break;
}
}
}
int init_number(int x, int key)
{
int key_number;
if(x == 0)
{
key_number = temp+test_num;
if(key_number == key) return 1;
else if(key_number > key) return -1;
}
else
{
temp += x%10;
x/=10;
init_number(x, key);
}
}
I2luY2x1ZGU8c3RkaW8uaD4KCmludCBpbml0X251bWJlcihpbnQgeCwgaW50IGtleSk7CgppbnQgdGVtcCA9IDA7CmludCBudW1iZXI7CmludCB0ZXN0X251bTsKCmludCBtYWluKCkKewoJc2NhbmYoIiVkIiwgJm51bWJlcik7CgkKCWludCBmbGc7CgkKCWZvcih0ZXN0X251bSA9IDAgOzsgdGVzdF9udW0rKykKCXsKCQl0ZW1wID0gMDsKCQlmbGcgPSBpbml0X251bWJlcih0ZXN0X251bSwgbnVtYmVyKTsKCQkKCQlpZihmbGcgPT0gMSkKCQl7CgkJCXByaW50ZigiJWRcbiIsIHRlc3RfbnVtKTsKCQkJYnJlYWs7CgkJfQoJCWVsc2UgaWYoZmxnID09IC0xKQoJCXsKCQkJcHJpbnRmKCIwXG4iKTsKCQkJYnJlYWs7CgkJfQoJfQp9CgoJCglpbnQgaW5pdF9udW1iZXIoaW50IHgsIGludCBrZXkpCgl7CgkJaW50IGtleV9udW1iZXI7CgkJCQoJCWlmKHggPT0gMCkKCQl7CgkJCWtleV9udW1iZXIgPSB0ZW1wK3Rlc3RfbnVtOwoJCQlpZihrZXlfbnVtYmVyID09IGtleSkgcmV0dXJuIDE7CgkJCWVsc2UgaWYoa2V5X251bWJlciA+IGtleSkgcmV0dXJuIC0xOwoJCX0KCQllbHNlIAoJCXsKCQkJdGVtcCArPSB4JTEwOwoJCQl4Lz0xMDsKCQkJaW5pdF9udW1iZXIoeCwga2V5KTsKCQl9Cgl9