ll mul(ll a,ll b,ll c){
ll ans=0;
while(b){
if(b&1){
ans=(ans+a)%c;
}
b>>=1;
a=(a<<1)%c;
}
return ans;
}
ll quick(ll a,ll b,ll c){
ll ans=1;
a=a%c;
while(b!=0){
if(b&1) ans=mul(ans,a,c);
b>>=1;
a=mul(a,a,c);
}
return ans;
}