ll fast(ll m, ll n, ll mod)//快速乘法
{
ll ans = 0;//注意初始化是0,不是1
while (n)
{
if (n & 1) ans=(ans+m)%mod;
m = (m + m) % mod;//和快速幂一样,只不过这里是加
n >>= 1;
}
return ans;
}
ll mod_pow(ll x,ll n,ll mod)
{
ll res=1;
while(n>0)
{
if(n&1) res=res*x%mod;
x=x*x%mod;
n>>=1;
}
return res;
}