#include #include using namespace std; using namespace atcoder; using ll = long long; using ld = long double; int main() { int N; cin >> N; vector ans(64, ""); vector isprime(64, true); isprime[0] = false; isprime[1] = false; for (int i = 2; i < 64; i++) { if (isprime[i]) { ans[i] = "Sosu!"; for (int j = i + i; j < 64; j += i) isprime[j] = false; } } for (int i = 2; i * i < 64; i++) { ans[i * i] = "Heihosu!"; } for (int i = 2; i * i * i < 64; i++) { ans[i * i * i] = "Ripposu!"; } vector div; for (int i = 1; i < 64; i++) { div.clear(); for (int j = 1; j * j <= i; j++) { if (i % j == 0) { div.push_back(j); if (j * j != i) div.push_back(i / j); } } sort(div.begin(), div.end()); int sum = 0; for (int j = 0; j < div.size() - 1; j++) sum += div[j]; if (i == sum) ans[i] = "Kanzensu!"; } if (ans[N] == "") cout << N << endl; else cout << ans[N] << endl; return 0; }