#include using namespace std; long long int bpow(long long int a,long long int n, long long int mod){ long long int x = 1; a %= mod; if(a ==0 ) return 0; while(n){ if(n & 1) x = (x*a)%mod; a = (a*a)%mod; n >>= 1; } return x; } int main(){ long long int A,B,C,res1,res2,MOD=10E8+7; scanf("%lld^%lld^%lld",&A,&B,&C); res1 = bpow(bpow(A,B,MOD),C,MOD); res2 = bpow(A,bpow(B,C,MOD-1),MOD); cout << res1 << " " << res2 << endl; }