#include <iostream>
#include <string>
int main() {
auto const check = [] (std::size_t const value) {
std::size_t cypherSum = 0;
for (auto const cypher : std::to_string(value)) {
cypherSum += cypher - '0';
}
return value == cypherSum * cypherSum * cypherSum;
};
std::size_t const intervalBegin = 0;
std::size_t const intervalEnd = 100000;
for (auto value = intervalBegin; value <= intervalEnd; ++value) {
if (check(value)) {
std::cout << value << std::endl;
}
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgoKCmludCBtYWluKCkgewogICBhdXRvIGNvbnN0IGNoZWNrID0gW10gKHN0ZDo6c2l6ZV90IGNvbnN0IHZhbHVlKSB7CiAgICAgIHN0ZDo6c2l6ZV90IGN5cGhlclN1bSA9IDA7CiAgICAgIGZvciAoYXV0byBjb25zdCBjeXBoZXIgOiBzdGQ6OnRvX3N0cmluZyh2YWx1ZSkpIHsKICAgICAgICAgY3lwaGVyU3VtICs9IGN5cGhlciAtICcwJzsKICAgICAgfQogICAgICAKICAgICAgcmV0dXJuIHZhbHVlID09IGN5cGhlclN1bSAqIGN5cGhlclN1bSAqIGN5cGhlclN1bTsKICAgfTsKICAgCiAgIHN0ZDo6c2l6ZV90IGNvbnN0IGludGVydmFsQmVnaW4JPSAwOwogICBzdGQ6OnNpemVfdCBjb25zdCBpbnRlcnZhbEVuZAk9IDEwMDAwMDsKICAgCiAgIGZvciAoYXV0byB2YWx1ZSA9IGludGVydmFsQmVnaW47IHZhbHVlIDw9IGludGVydmFsRW5kOyArK3ZhbHVlKSB7CiAgICAgIGlmIChjaGVjayh2YWx1ZSkpIHsKICAgICAgICAgc3RkOjpjb3V0IDw8IHZhbHVlIDw8IHN0ZDo6ZW5kbDsKICAgICAgfQogICB9Cn0K