// g++ -std=c++11 temp.cpp #include using namespace std; #define FOR(i,a,b) for(int i=(int)(a);i<(int)(b);i++) #define REP(i,n) FOR(i,0,n) #define EACH(itr,v) for(auto itr:v) #define pb(s) push_back(s) #define mp(a,b) make_pair(a,b) #define all(x) (x).begin(),(x).end() #define dbg(x) cout<<#x"="< P; typedef pair PPI; #define INF INT_MAX/3 #define MAX_N 1000 ll a,b,c; const ll M = 1000000007; ll mpow(ll a, ll b, ll m){ if(b == 0) return 1; if(b == 1) return a%m; if(b%2 == 0){ ll res = mpow(a,b/2,m); return (res*res)%m; }else{ return (mpow(a,b-1,m)*a)%m; } } int main(){ scanf("%lld^%lld^%lld", &a,&b,&c); //dbg(mpow(10,10)); cout<