#include #include #include #include #include #include #include #include #include #include #include #include #include using ll = long long; using namespace std; constexpr int MOD = 1e9 + 7; constexpr ll MOD_LL = ll(1e9) + 7; template vector Divisors(T n) { vector res; for(T i = 1; i * i <= n; ++i) { if( n % i == 0 ) { res.push_back(i); if( i < n / i ) res.push_back(n / i); } } sort(res.begin(), res.end()); return res; } template map prime_factor(T n) { map res; for(T i = 2; i * i <= n; ++i) { while( n % i == 0 ) { res[i]++; n /= i; } } if( n != 1 ) res[n] = 1; return res; } template T divisors_num(T n) { map primes = prime_factor(n); T res = 1; for(auto& x : primes) { res *= (x.second + 1); } return res; } template bool is_prime(T n) { for(T i = 2; i * i <= n; ++i) { if( n % i == 0 ) return false; } return true; } int main(void) { int n; cin >> n; if( n == 0 || n == 1 ) { cout << n << endl; return 0; } if( is_prime(n) ) { cout << "Sosu!" << endl; } else { if( divisors_num(n) % 2 == 1 ) { cout << "Heihosu!" << endl; return 0; } for(int i = 0; i <= 4; ++i) { if( n == i * i * i ) { cout << "Ripposu!" << endl; return 0; } } vector div = Divisors(n); int sum = 0; for(int i = 0 ; i < div.size() - 1; ++i) { sum += div[i]; } if( sum == n ) { cout << "Kanzensu!" << endl; } else { cout << n << endl; } } return 0; }