NEUOJ 333
快速幂模板
快速幂用递归写会超时,必须得用while循环写
#include <cstdio>
typedef long long ll;
const ll p=1e9+7;
ll a,b,c;
ll pow(ll base,ll exp,ll MOD){
ll res=1;
while(exp){
if(exp&1ll)res=res*base%MOD;
exp>>=1;
base=base*base%MOD;
}
return res;
}
int main(){
while(~scanf("%lld%lld%lld",&a,&b,&c)){
printf("%lld\n",pow(a,pow(b,c,p-1),p));
}
}