线性求逆元
inv[0] = inv[1] = 1;
for (int i = 2; i < N; ++ i) {
f[i] = f[i - 1] * i % mod;
inv[i] = (mod - mod / i) * inv[mod % i] % mod;
}
当N过大但查询的点少的时候可以递归求逆元
int GetInv(int n) {
if (n == 1) return 1;
return (mod - mod / n) * (GetInv(mod % n)) % mod;
}