CH0101 a^b 快速幂
注意有模数为1,指数为0的情况,所以输出的时候还要%mod。
#include<bits/stdc++.h>
#define rg register
#define il inline
#define co const
template<class T>il T read(){
rg T data=0,w=1;
rg char ch=getchar();
while(!isdigit(ch)){
if(ch=='-') w=-1;
ch=getchar();
}
while(isdigit(ch))
data=data*10+ch-'0',ch=getchar();
return data*w;
}
template<class T>il T read(rg T&x){
return x=read<T>();
}
typedef long long ll;
int mod;
int mul(int x,int y){
return (ll)x*y%mod;
}
int qpow(int x,int k){
int re=1;
while(k){
if(k&1) re=mul(re,x);
x=mul(x,x),k>>=1;
}
return re;
}
int main(){
// freopen(".in","r",stdin);
// freopen(".out","w",stdout);
int x,k;
read(x),read(k),read(mod);
printf("%d\n",qpow(x%mod,k)%mod);
return 0;
}