ll motil(ll a, ll b , ll m) //a*b%m
{
ll ans=0;
while(b){
if(b&1){
ans=(ans+a)%m;
}
b>>=1;
a=(a<<1)%m;
}
return ans;
}
ll motil_pow(ll a, ll b , ll m)//a^b %m
{
ll ans=1;
while(b){
if(b&1){
ans=ans*a%m;
}
b>>=1;
a=a*a%m;
}
return ans;
}