#include<bits/stdc++.h>
using namespace std;
long long b,p,k;
long long fastpower(long long p)
{
if(p==0)return 1;
long long tmp=fastpower(p/2)%k;
tmp=(tmp%ktmp%k)%k;
if(p%2==1)tmp=(tmp%kb%k)%k;
tmp%=k;
return tmp;
}
int main()
{
scanf("%lld %lld %lld",&b,&p,&k);
printf("%lld^%lld mod %lld=%lld\n",b,p,k,fastpower(p));
return 0;
}```c
#include<bits/stdc++.h>
using namespace std;
long long b,p,k;
long long fastpower(long long p)
{
if(p==0)return 1;
long long tmp=fastpower(p/2)%k;
tmp=(tmp%ktmp%k)%k;
if(p%2==1)tmp=(tmp%kb%k)%k;
tmp%=k;
return tmp;
}
int main()
{
scanf("%lld %lld %lld",&b,&p,&k);
printf("%lld^%lld mod %lld=%lld\n",b,p,k,fastpower(p));
return 0;
}