/** GOKURI */ #include #include #include #include #include #include #include #include #include #include using namespace std; #define FNAME "roots.txt" #define cin fin #define MAX_NUM 1000000 vector primes(MAX_NUM + 1, true); bool solve(int &n) { register int cur = n; while(cur >= 10) { if(primes[cur]) break; int acc = 0; for(; cur; cur /= 10) acc += cur % 10; cur = acc; } n = cur; return primes[cur]; } int main() { ifstream fin(FNAME); if(!fin) return -1; for(int i = 2; i < MAX_NUM / 2; i++) { if(!primes[i]) continue; for(register int j = i << 1; j < MAX_NUM; j += i) { primes[j] = false; } } primes[0] = false; primes[1] = false; int n; while(cin >> n, n) { static char buffer[32]; char *p = buffer + sprintf(buffer, "%7u ", n); if(solve(n)) sprintf(p, "%7u", n); else sprintf(p, " none"); cout << buffer << endl; } return 0; }