#include #include #include #include #include using namespace std; using mint=atcoder::modint998244353; int N,M,X; int C[2<<17]; int A[2<<17],B[2<<17],Y[2<<17]; int ans[2<<17]; int main() { cin>>N>>M>>X; for(int i=0;i>C[i]; for(int i=0;i>A[i]>>B[i]>>Y[i]; for(int col=1;col<=5;col++) { vectoridx(N,mint::raw(0)); for(int i=0;icoef(N,mint::raw(0)); for(int i=0;it=atcoder::convolution(idx,coef); for(int i=N-1;i<2*N-1;i++)ans[i-(N-1)]+=t[i].val(); } int ret=0; for(int i=0;i<=N;i++)ret=max(ret,ans[i]+i*X); cout<