#define MD 998244353 Combc; ll@n,@m,@a[n],@b[n]; Mint e[m][1024]; rep(k,m){ rep(j,601){ e[k][j]=1; } } rep(i,n){ rep(j,601){ e[i%m][j]*=c.C(a[i]+b[i],j-300+b[i]); } } Mint g[1<<17]; g[0]=1; rep(k,m){ convolution(g,1<<17,e[k],1024,g,1<<17); } wt(g[m*300]);