#include using namespace std; #define ll long long const ll maxn=2000005; const ll mod=998244353; ll s[maxn+5],p[maxn+5]; ll qmksm(ll a,ll b){ ll ans,cur,i,j,k; ans=1,cur=a; while(b){ if(b&1)ans=ans*cur%mod; cur=cur*cur%mod; b>>=1; } return ans; } ll ny(ll a){ return qmksm(a,mod-2); } void init(){ ll i,j,k; s[0]=1; for(i=1;i<=maxn;i++)s[i]=s[i-1]*i%mod; p[maxn]=ny(s[maxn]); for(i=maxn-1;i>=0;i--)p[i]=p[i+1]*(i+1)%mod; } ll cal(ll n,ll m){ ll i,j,k,ans,cur; if(m<0 or m>n)return 0; if(m==0 or m==n)return 1; if(n<=maxn)return s[n]*p[m]%mod*p[n-m]%mod; if(m>n/2)m=n-m; cur=1; for(i=0;i