func_code_string: #include<bits/stdc++.h>   using namespace std;   typedef long long ll;   const int maxn=405;   const int P=998244353;   ll dp[2][maxn][maxn][3][3],sum[maxn][maxn];   int cur,las,n,c[26];   void add(ll &dpp,ll add) {    add%=P;    while(add<0) add+=P;    dpp+=add;    while(dpp>=P) dpp-=P;   }   int main() {    scanf( %d ,&n);    for(int i=0;i<26;++i)     scanf( %d ,&c[i]);    dp[0][0][0][0][0]=1;    las=1;cur=0;    for(int i=1;i<=n;++i) {     swap(las,cur);     for(int j=0;j<=i;++j)      for(int k=0;k<=i;++k)       for(int l=0;l<3;++l)        for(int m=0;m<3;++m)         dp[cur][j][k][l][m]=0;     for(int j=0;j<=i;++j)      for(int k=0;k<=i;++k)       for(int l=0;l<3;++l)        for(int m=0;m<3;++m) {         if(!dp[las][j][k][l][m])continue;         add(dp[cur][j][k][m][0],1LL*dp[las][j][k][l][m]*((l||(i<=2))?24:23)%P);         if(l!=1) add(dp[cur][j+1][k][m][1],dp[las][j][k][l][m]);         if(l!=2) add(dp[cur][j][k+1][m][2],dp[las][j][k][l][m]);        }    }     for(int i=0;i<=n;++i)     for(int j=0;j<=n;++j)      for(int k=0;k<3;++k)       for(int kk=0;kk<3;++kk)        add(sum[i][j],dp[cur][i][j][k][kk]);    for(int i=n;i>=0;--i)     for(int j=n;j>=0;--j)      add(sum[i][j],sum[i+1][j]+sum[i][j+1]-sum[i+1][j+1]);    ll res=1;    for(int i=1;i<=n;++i)     res=res*((i<=2)?26:25)%P;    for(int i=0;i<26;++i)     add(res,-sum[c[i]+1][0]);    for(int i=0;i<26;++i)     for(int j=i+1;j<26;++j)      add(res,sum[c[i]+1][c[j]+1]);    res+=P;    res%=P;    printf( %lld n ,res);   }   