inline long long fpow(long long a,long long b,long long c){
register long long cnt=1,i=1;
for (register long long i=1;i<=b;i++)
cnt *= a,cnt %= c;
return cnt;
}
int main(){
register long long a,b,p,s;
scanf("%lld%lld%lld",&a,&b,&p);
s = fpow(a,b,p);
printf("%lld^%lld mod %lld=%lld",a,b,p,s);
return 0;
}