
#include<bits/stdc++.h>
using namespace std;
#define rep(i,a,b) for(int i=(a);i<=(b);++i)
#define per(i,a,b) for(int i=(a);i>=(b);--i)
#define dbg1(x) cerr<<#x<<"="<<(x)<<" "
#define dbg2(x) cerr<<#x<<"="<<(x)<<"\n"
//dp[i][j][k][l][m]:��ʾ������������������Ƶ������
//ǰi������ �ֱ�����j����һ����k���ڶ����� �ҵ����ڶ�����l ������һ����m
//����l mΪö��ֵ0 1 2,����0��ʾ�Ȳ��ǵ�һ��Ҳ���ǵڶ���
const int N=405,mod=998244353;
int n,c[26],sum[N][N],dp[2][N][N][3][3],now,las;
void add(int &x,int y){x=(x+y)%mod;}
void sub(int &x,int y){x=(x+mod-y)%mod;}
int main(){
	scanf("%d",&n);
	for(int i=0;i<26;++i){
		scanf("%d",&c[i]);
	}
	dp[0][0][0][0][0]=1;
	now=0;las=1;
	for(int i=0;i<n;++i){
		swap(now,las);
		for(int j=0;j<=i;++j){
			for(int k=0;k<=i;++k){
				for(int x=0;x<3;++x){
					for(int y=0;y<3;++y){
						dp[now][j][k][x][y]=0;
					}
				}
			}
		}
		for(int j=0;j<=i;++j){
			for(int k=0;k<=i;++k){
				for(int x=0;x<3;++x){
					for(int y=0;y<3;++y){
						if(!dp[las][j][k][x][y])continue;
						add(dp[now][j][k][y][0],1ll*dp[las][j][k][x][y]*(x==0 && i>=2?23:24)%mod);
						if(x!=1)add(dp[now][j+1][k][y][1],dp[las][j][k][x][y]);
						if(x!=2)add(dp[now][j][k+1][y][2],dp[las][j][k][x][y]);
					}
				}
			}
		}
	}
	for(int j=0;j<=n;++j){
		for(int k=0;k<=n;++k){
			for(int x=0;x<3;++x){
				for(int y=0;y<3;++y){
					add(sum[j][k],dp[now][j][k][x][y]);
				}
			}
		}
	}
	//��άǰ׺��
	for(int i=n;i>=0;--i){
		for(int j=n;j>=0;--j){
			add(sum[i][j],sum[i+1][j]);
		}
	}
	for(int i=n;i>=0;--i){
		for(int j=n;j>=0;--j){
			add(sum[i][j],sum[i][j+1]);
		}
	}
	int ans=1;
	//û�����Ƶ������
	for(int i=0;i<n;++i){
		ans=1ll*ans*(i<2?26:25)%mod;
	}
	//��ȥһ�ֳ����� ���϶�������ֳ����� �ݳ�
	for(int i=0;i<26;++i){
		sub(ans,sum[c[i]+1][0]);
	}
	for(int i=0;i<26;++i){
		for(int j=i+1;j<26;++j){
			add(ans,sum[c[i]+1][c[j]+1]);
		}
	}
	printf("%d\n",ans);
	return 0;
}
