放一段模版方便使用
//c(n,m) = c(n-1,m-1)+c(n-1,m)
const int N = 5e6+10;
const int mod = 998244353;
int fact[N],infact[N];
int qpow(int base,int power) {
int res = 1;
while(power) {
if(power & 1) res = res*base%mod;
base = base*base%mod;
power >>= 1;
}return res;
}
void init() {
fact[0] = infact[0] = 1;
for (int i = 1; i < N; i++) {
fact[i] = fact[i-1]*i%mod;
infact[i] = infact[i-1]*qpow(i,mod-2)%mod;
}
}
int C(int a,int b) {
if(b > a) return 0;
return fact[a]*infact[b]%mod*infact[a-b]%mod;
}