快速幂
#include<iostream>
using namespace std;
long long quick(long long b,long long p,long long k)
{
long long ans=1;
b=b%k;
while(p!=0)
{
if(p&1)
ans=ans*b%k;
p>>=1;
b=b*b%k;
}
return ans;
}
int main()
{
long long b,p,k;
cin>>b>>p>>k;
cout<<b<<"^"<<p<<" mod "<<k<<"="<<quick(b,p,k)<<endl;
return 0;
}