#include using namespace std; typedef long long ll; ll mod = 998244353,dp[5010][5010] = {},sum[5010][5010] = {},a[5010],l[5010],r[5010]; int main(){ int i,j,n; cin >> n; for(i=1;i<=n;i++) cin >> a[i]; a[0] = 0,a[n + 1] = n + 1; for(i=1;i<=n;i++){ l[i] = r[i] = -1; for(j=i - 1;j>=1;j--){ if(a[j]=2) (dp[i][j] += mod - sum[i - 1][l[i] - 2]) %= mod; } for(j=0;j<=n;j++) dp[i + 1][j] = dp[i][j]; sum[i][0] = dp[i][0]; for(j=1;j<=n;j++) (sum[i][j] += sum[i][j - 1] + dp[i][j]) %= mod; } cout << dp[n][n] << endl; }