// Maximum-TNT #include #include #include #include #include #include #include #include #include using namespace std; #define cin fin const int BUFSIZE = 1024; ifstream fin("roots.txt"); const int MAX=1000000; const int NO=-1; char g_flg[MAX]; void MakePrimeTable() { memset(g_flg,0,sizeof(g_flg)); g_flg[0] = g_flg[1]= 1; for(int i = 4 ; i < MAX ; i+= 2)g_flg[i] = 1; for(int i = 3 ; i < MAX ; i+= 2) { if(!g_flg[i]) { for(int j = i+i ; j < MAX ; j += i) g_flg[j] = 1; } } } int AddAllDigit(int n) { int ans = 0; while(n) { ans += n%10; n /= 10; } return ans; } int Solve(int n) { while(n >= 10) { if(!g_flg[n])return n; else n = AddAllDigit(n); } if(!g_flg[n])return n; return NO; } int main() { int n; MakePrimeTable(); while(cin >> n , n) { int ans = Solve(n); printf("%7d ",n); if(ans == NO)printf(" none\n"); else printf("%7d\n",ans); } return 0; }