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;  
}