https://www.luogu.com.cn/problem/P1226
#include<cstdio>
#include<iostream>
using namespace std;
#define LL long long int
LL a,b,m;
int f(LL a,LL b,LL m)
{
LL sum=1;
a=a%m;
while(b)
{
if(b&1) sum=(sum*a)%m;
a=(a*a)%m;
b=b>>1;
sum=sum%m;
}
return sum%m;
}
int main(void)
{
cin>>a>>b>>m;
cout<<a<<"^"<<b<<" mod "<<m<<"=";
cout<<f(a,b,m);
return 0;
}