#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; template > using MaxHeap = priority_queue, Compare>; template > using MinHeap = priority_queue, Compare>; using llong = long long; llong n; int main() { llong i; cin >> n; if (n == 1 || n == 0) { cout << n << endl; return 0; } //prime for (i = 2; i * i <= n; i++) { if (n % i == 0) break; } if (i * i > n && n >= 2) { cout << "Sosu!" << endl; return 0; } //square for (i = 2; i * i < n; i++); if (i * i == n) { cout << "Heihosu!" << endl; return 0; } //cube for (i = 2; i * i * i < n; i++); if (i * i * i == n) { cout << "Ripposu!" << endl; return 0; } llong s = 0; for (llong i = 1; i * i <= n; i++) { if (n % i == 0) { s += i; if (n / i != i) s += n / i; } } s -= n; if (s == n) { cout << "Kanzensu!" << endl; return 0; } cout << n << endl; return 0; }