//快速幂 (并保留结果后m/10位) 非递归写法
#define LL long long int
LL qpower(LL base, LL n, int m)
{
LL ans = 1;
while (n > 0)
{
if (n % 2 == 1)
ans = (LL)ans * base % m;
n = n / 2;
base = (LL)base * base % m;
}
return ans;
}
//递归写法
int qpow(int x, int n, int m)
{
if (n == 0)
return 1;
else if (n % 2 == 1)
return (qpow(x,n-1,m)*x)%m;
else
{
int t = qpow(x, n / 2, m);
return (t * t) % m;
}
}