预处理逆元和阶乘
int fac[100001],inv[100001]; fac[0]=1;for(int i=1;i<=p;i++)fac[i]=i*fac[i-1]%p; inv[0]=inv[1]=1;for(int i=2;i<=p;i++)inv[i]=(p-p/i)*inv[p%i]%p;
这样爆int能得80p,说实话有点搞人心态,以为是什么特殊的数据把自己卡掉了,然后下载数据调了5min发现没开long long