#include <iostream>
#include <sstream>
int countNum(const std::string& s, int i)
{
int j = i;
int count = 0;
while (s[j++] == s[i]) ++count;
return count;
}
std::string nextTerm(const std::string& s)
{
std::ostringstream oss;
for (int i = 0; i < s.size(); )
{
int n = countNum(s, i);
oss << n << s[i];
i += n;
}
return oss.str();
}
int digitSum(const std::string& s)
{
int sum = 0;
for (char c : s) sum += c - '0';
return sum;
}
int main()
{
std::string s = "1";
for (int i = 0; i < 63; ++i)
{
std::cout << i+1 << "\t" << digitSum(s) << "\t" << s.size() << "\n";
s = nextTerm(s);
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3N0cmVhbT4KCmludCBjb3VudE51bShjb25zdCBzdGQ6OnN0cmluZyYgcywgaW50IGkpCnsKCWludCBqID0gaTsKCWludCBjb3VudCA9IDA7Cgl3aGlsZSAoc1tqKytdID09IHNbaV0pICsrY291bnQ7CglyZXR1cm4gY291bnQ7Cn0KCnN0ZDo6c3RyaW5nIG5leHRUZXJtKGNvbnN0IHN0ZDo6c3RyaW5nJiBzKQp7CglzdGQ6Om9zdHJpbmdzdHJlYW0gb3NzOwoJZm9yIChpbnQgaSA9IDA7IGkgPCBzLnNpemUoKTsgKQoJewoJCWludCBuID0gY291bnROdW0ocywgaSk7CgkJb3NzIDw8IG4gPDwgc1tpXTsKCQlpICs9IG47Cgl9CglyZXR1cm4gb3NzLnN0cigpOwp9CgppbnQgZGlnaXRTdW0oY29uc3Qgc3RkOjpzdHJpbmcmIHMpCnsKCWludCBzdW0gPSAwOwoJZm9yIChjaGFyIGMgOiBzKSBzdW0gKz0gYyAtICcwJzsKCXJldHVybiBzdW07Cn0KCmludCBtYWluKCkKewoJc3RkOjpzdHJpbmcgcyA9ICIxIjsKCWZvciAoaW50IGkgPSAwOyBpIDwgNjM7ICsraSkKCXsKCQlzdGQ6OmNvdXQgPDwgaSsxIDw8ICJcdCIgPDwgZGlnaXRTdW0ocykgPDwgIlx0IiA8PCBzLnNpemUoKSA8PCAiXG4iOwoJCXMgPSBuZXh0VGVybShzKTsKCX0KfQ==