快速冪
遞迴
long long quick_pow(long long x,long long y,long long p)
{
long long tmp=quick_pow(x,y>>1,p);
tmp=tmp*tmp%p;
if(y&1) return tmp*x%p;
else return tmp;
}
迭代
long long quick_pow(long long x,long long y,long long p)
{
long long res=1;
while(y)
{
if(y&1) res=res*x%p;
x=x*x%p;
y>>=1;
}
return res;
}