// https://github.com/pekempey/banana // ------------------------------------------- // let is_prime n = // let mut i = 2 in // while i * i <= n do // if n % i == 0 then return false else (); // i += 1 // done; // n >= 2 // in // // let is_square n = // for i = 1 to n do // if i * i == n then return true else () // done; // false // in // // let is_cube n = // for i = 1 to n do // if i * i * i == n then return true else () // done; // false // in // // let is_perfect n = // let mut s = 0 in // for i = 1 to n - 1 do // if n % i == 0 then // s += i // else () // done; // n <> 0 and s == n // in // // let n = readZ () in // if is_prime n then // println "Sosu!" // else if is_square n then // println "Heihosu!" // else if is_cube n then // println "Ripposu!" // else if is_perfect n then // println "Kanzensu!" // else // println n // ------------------------------------------- #include #include #include #include #include template int print(T a) { std::cout << a; return 0; } template int println(T a) { std::cout << a << '\n'; return 0; } int print_newline(int dummy) { std::cout << '\n'; return 0; } long long readZ(int dummy) { long long a; std::cin >> a; return a; } long long readR(int dummy) { double a; std::cin >> a; return a; } std::string readS(int dummy) { std::string a; std::cin >> a; return a; } std::vector vecZ(long long n) { return std::vector(n, 0); } std::vector vecR(long long n) { return std::vector(n, 0); } long long sum(std::vector a) { long long res = 0; for (long long x : a) res += x; return res; } template std::vector sort(std::vector a) { std::sort(a.begin(), a.end()); return a; } int main() { std::cin.tie(nullptr); std::ios::sync_with_stdio(false); std::cout << std::fixed << std::setprecision(15); auto _15=[&](auto _14)->long long{ long long _29=2; auto _27=_29; while(true){ auto &_30=_27; auto &_31=_27; auto _32=_30*_31; auto &_33=_14; auto _34=_32<=_33; if(!(_34))break; auto &_35=_14; auto &_36=_27; auto _37=_35%_36; long long _38=0; auto _39=_37==_38; long long _43; if(_39){ long long _40=0; int _41=0; return _40; _43=_41; } else { long long _42=0; _43=_42; } long long _44=1; _27+=_44; auto _45=_44; } auto _46=0; auto &_47=_14; long long _48=2; auto _49=_47>=_48; auto _50=_49; auto _51=_50; return _51;}; auto _17=[&](auto _16)->long long{ long long _52=1; auto &_53=_16; for(long long _26=_52;_26<=_53;_26++){ auto &_54=_26; auto &_55=_26; auto _56=_54*_55; auto &_57=_16; auto _58=_56==_57; long long _62; if(_58){ long long _59=1; int _60=0; return _59; _62=_60; } else { long long _61=0; _62=_61; } } auto _63=0; long long _64=0; auto _65=_64; return _65;}; auto _19=[&](auto _18)->long long{ long long _66=1; auto &_67=_18; for(long long _25=_66;_25<=_67;_25++){ auto &_68=_25; auto &_69=_25; auto _70=_68*_69; auto &_71=_25; auto _72=_70*_71; auto &_73=_18; auto _74=_72==_73; long long _78; if(_74){ long long _75=1; int _76=0; return _75; _78=_76; } else { long long _77=0; _78=_77; } } auto _79=0; long long _80=0; auto _81=_80; return _81;}; auto _21=[&](auto _20)->long long{ long long _82=0; auto _23=_82; long long _83=1; auto &_84=_20; long long _85=1; auto _86=_84-_85; for(long long _24=_83;_24<=_86;_24++){ auto &_87=_20; auto &_88=_24; auto _89=_87%_88; long long _90=0; auto _91=_89==_90; long long _94; if(_91){ auto &_92=_24; _23+=_92; _94=_92; } else { long long _93=0; _94=_93; } } auto _95=0; auto &_96=_20; long long _97=0; auto _98=_96!=_97; auto &_99=_23; auto &_100=_20; auto _101=_99==_100; auto _102=_98&&_101; auto _103=_102; auto _104=_103; return _104;}; long long _105=0; auto _106=readZ(_105); auto _22=_106; auto &_107=_22; auto _108=_15(_107); long long _128; if(_108){ std::string _109="Sosu!"; auto _110=println(_109); _128=_110; } else { auto &_111=_22; auto _112=_17(_111); long long _127; if(_112){ std::string _113="Heihosu!"; auto _114=println(_113); _127=_114; } else { auto &_115=_22; auto _116=_19(_115); long long _126; if(_116){ std::string _117="Ripposu!"; auto _118=println(_117); _126=_118; } else { auto &_119=_22; auto _120=_21(_119); long long _125; if(_120){ std::string _121="Kanzensu!"; auto _122=println(_121); _125=_122; } else { auto &_123=_22; auto _124=println(_123); _125=_124; } _126=_125; } _127=_126; } _128=_127; } auto _129=_128; int _130=_129; int _131=_130; int _132=_131; int _133=_132; }