快速幂

// a^k%p
int qmi(int a, int k, int p)
{
    int res = 1;
    while(k)
    {
        if(k&1) res = res * a % p;
        a = a*a %p;
        k>>=1;
    }
    return res; 
}

龟速加

// a*b%p
// a,b,p都是比较大的数
typedef long long LL;
LL qadd(LL a, LL b, LL p)
{
    LL res = 0;
    while(b)
    {
        if(b&1) res = (res+a)%p;
        a = (a+a)%p;
        b>>=1;
    }
    return res;
}


最讨厌你,也最喜欢你