用於求 %p
ll mod_pow(ll a, ll b)
{
ll res = 1;
while(b)
{
if(b & 1) res =res * a % mod;
a = a * a % mod;
b >>= 1;
}
return res;
}
ll comb(ll n, ll k)
{
if(k > n) return 0;
ll ret = 1;
k = min(n - k, k);
for(int i = 1; i <= k; i++)
{
ll a = (n + i - k) % mod;
ll b = i % mod;
ret = ret * (a * mod_pow(b, mod - 2) % mod) % mod;
}
return ret;
}
ll Lucas(ll n, ll k)
{
if(k == 0) return 1;
return comb(n % mod, k % mod) * Lucas(n / mod, k / mod) % mod;
}