#1#2AC
#3#4#5WA
#6#7#8RE
#include<bits/stdc++.h>
using namespace std;
unsigned long long f[(int)1e7+1];
unsigned long long fastmmul(unsigned long long a,unsigned long long n)
{
unsigned long long chu,yu,ans;
if(a==0)return 0;
if(a==1)return 1;
if(n==0)return 1;
if(n==1)return a;
if(f[n])return f[n];
chu=fastmmul(a,n/2);
yu=fastmmul(a,n%2);
ans=chu*chu*yu;
f[n]=ans;
return ans;
}
int main()
{
unsigned long long a,n,ans,q;
cin>>a>>n>>q;
if(a==0&&n==0)
{
cout<<"wyy";
return 0;
}
ans=fastmmul(a,n);
cout<<a<<'^'<<n<<" mod "<<q<<'='<<ans%q;
}