#include<cstdio>

using namespace std;

const int MOD=998244353;
int add(int x,int y){return x+y>=MOD?x+y-MOD:x+y;}
int sub(int x,int y){return x>=y?x-y:x+MOD-y;}

int c[30];

int dp[500][500][3][3],f[500][500][3][3];int ans[500][500];

int main()
{
	int n=0;scanf("%d",&n);
	for(int i=1;i<=26;i++)scanf("%d",&c[i]);
	
	dp[0][0][0][0]=24*24,dp[1][0][0][1]=24,dp[0][1][0][2]=24;
	dp[1][0][1][0]=24,dp[2][0][1][1]=1,dp[1][1][1][2]=1;
	dp[0][1][2][0]=24,dp[1][1][2][1]=1,dp[0][2][2][2]=1;
	for(int i=3;i<=n;i++)
	{
		for(int j=0;j<=n;j++)for(int k=0;k<=n;k++)for(int l=0;l<3;l++)for(int m=0;m<3;m++)
		{
			f[j][k][l][m]=dp[j][k][l][m];dp[j][k][l][m]=0;
		}
		for(int j=0;j<=n;j++)
		{
			for(int k=0;k<=n;k++)
			{
				for(int l=0;l<3;l++)
				{
					if(j>0)dp[j][k][l][1]=add(f[j-1][k][0][l],f[j-1][k][2][l]);
					if(k>0)dp[j][k][l][2]=add(f[j][k-1][0][l],f[j][k-1][1][l]);
					dp[j][k][l][0]=add((long long)23*f[j][k][0][l]%MOD,
						add((long long)24*f[j][k][1][l]%MOD,(long long)24*f[j][k][2][l]%MOD));
				}
			}
		}
	}
	for(int i=0;i<=n;i++)for(int j=0;j<=n;j++){for(int l=0;l<3;l++)for(int m=0;m<3;m++)
		ans[i][j]=add(ans[i][j],dp[i][j][l][m]);
        //printf("%d %d: %d\n",i,j,ans[i][j]);
    }
	for(int i=n;i>=0;i--)for(int j=n;j>=0;j--)
    {
		ans[i][j]=add(add(ans[i][j],ans[i+1][j]),sub(ans[i][j+1],ans[i+1][j+1]));
        //printf("%d %d: %d\n",i,j,ans[i][j]);
    }
	int ret=ans[0][0];
	for(int i=1;i<=26;i++)ret=sub(ret,ans[0][c[i]+1]);
	for(int i=1;i<=26;i++)for(int j=i+1;j<=26;j++)ret=add(ret,ans[c[i]+1][c[j]+1]);
	printf("%d",ret); 
}