p为素数,a,b为正整数,并且
a = akp^k+ak-1p^k-1+...+a1p+a0
b = bkp^k+bk-1p^k-1+...+b1p+b0
所有0<=ai,bi<=p-1
C(a,b) = C(ak,bk)*C(ak-1,bk-1)*...*C(a0,b0)%p
fac表示阶乘,inv表示逆元
LL Lucas( LL a , LL b )
{
LL res = 1;
while ( a&&b )
{
LL aa = a%mod;
LL bb = b%mod;
if ( aa<bb ) return 0;
res = res*fac[aa]%mod*inv[fac[bb]]%mod*inv[fac[aa-bb]]%mod;
a = a/mod;
b = b/mod;
}
return res;
}