/*
欧拉计划第30题
最小的7位数为1000000, 而7位数的各位数字 5 次方之和最多为 7 * 9^5 < 1000000
所以满足条件的数字最多为6位数。
*/
#include<bits/stdc++.h>
using namespace std;
int f(int n)
{
// 返回 n 的各位数字的 5 次方之和。
int sum = 0;
while (n)
{
int d = n % 10;
n /= 10;
sum += d * d * d * d * d;
}
return sum;
}
int main(void)
{
int ans = 0;
for (int i = 2; i <= 1000000; ++ i)
if (f(i) == i)
{
cout << i << endl;
ans += i;
}
cout << ans << endl;
return 0;
}