#include #include using namespace std; using namespace atcoder; using mint=modint998244353; vector g1(2,1); vector g2(2,1); vector inv(2,1); const int mod=998244353; mint cmb(int a,int b){ if((b<0)&&(b>a)){ return 0; } return g1[a]*g2[b]*g2[a-b]; } int main(){ inv[0]=0; int n,m; cin>>n>>m; mint N,M; N=mint::raw(n); M=mint::raw(m); mint ANS=0; for(int i=2;im*K){ break; } A+=cmb(m*K-Z+K-1,m*K-Z)*Y*cmb(K,X); X++; Z+=2*m+1; Y=-Y; } ANS+=(U-A)*V*(N-K+1); } cout<<(ANS*(mint::raw(2).pow(mod-2))).val()<