from copy import deepcopy MOD = 998244353 N = int(input()) A = list(map(int, input().split())) B = input().split() X = [] Y = [] for i in range(N): if B[i].isdigit(): Y.append((A[i], int(B[i]))) elif B[i] == 'X': X.append((A[i], 0)) DP = [[[0 for b in range(34)] for a in range(5)] for i in range(9)] DP[0][0][0] = 1 for u, d in Y: dp = deepcopy(DP) for i in range(len(DP)): for j in range(len(DP[i])): for k in range(len(DP[i][j])): if i >= 1 and j >= u and k >= d: dp[i][j][k] = (DP[i][j][k]+DP[i-1][j-u][k-d]) % MOD DP = deepcopy(dp) DP9 = [[0 for b in range(34)] for a in range(5)] for u, d in X: dp9 = deepcopy(DP9) for j in range(len(DP9)): for k in range(len(DP9[j])): if j >= u and k >= d: dp9[j][k] = (DP9[j][k]+DP[8][j-u][k-d]) % MOD DP9 = deepcopy(dp9) print(DP9[4][33])