from collections import defaultdict N=int(input()) A=["-1"]+list(input().split()) B=["-1"]+list(input().split()) N+=1 X=[0 for _ in range(N)] for i in range(N): if B[i][-1]=="X": if B[i]=="X": A[i]=int(A[i]) B[i]=0 X[i]=1 elif B[i][:-1]=="33": A[i]=int(A[i]) B[i]=33 X[i]=1 else: A[i]=-1;B[i]=-1 else: A[i]=int(A[i]) B[i]=int(B[i]) DP=[[defaultdict(int) for _ in range(10)] for _ in range(N)] DP[0][0][(0,0,0)]=1 for i in range(1,N): for j in range(10): for (a,b,x),v in DP[i-1][j].items(): # i枚目のカードを使わない DP[i][j][(a,b,x)]+=DP[i-1][j][(a,b,x)] DP[i][j][(a,b,x)]%=998244353 # i枚目のカードを使う if A[i]!=-1 and j<9 and a+A[i]<=4 and b+B[i]<=33 and x+X[i]<=1: DP[i][j+1][(a+A[i],b+B[i],x+X[i])]+=DP[i-1][j][(a,b,x)] DP[i][j+1][(a+A[i],b+B[i],x+X[i])]%=998244353 print(DP[N-1][9][(4,33,1)])