#include #define rep(i,a,b) for(int i=int(a);i> S; S += '^'; ll num[3],ind = 0; string buf; rep(i,0,S.size()){ if(S[i] == '^'){ num[ind++] = stoll(buf); buf = ""; }else{ buf += S[i]; } } cout << powmod( powmod(num[0]%MOD,num[1]%(MOD-1),MOD) ,num[2]%(MOD-1),MOD) << " "; cout << powmod( num[0], powmod(num[1]%(MOD-1),num[2]%(MOD-1),MOD-1), MOD) << endl; }