I,R=input,range
D=[1]+[0]*1529
X=[0]*170
Y=[0]*5
N=I()
for A,B in zip(map(int,I().split()),I().split()):
	if"A"<B:Y[A]+=1
	elif'A'>B[-1]:X[A+5*int(B)]+=1
P=998244353
J=[0,1]
for g in R(2,34):J+=[P-P//g*J[P%g]]
C=[]
for i in R(170):
	C+=[[1]]
	for g in R(1,34):C[i]+=[C[i][-1]*(X[i]-g+1)*J[g]%P]
for e in R(5):
	for f in R(34):
		for a in R(4,-1,-1):
			for b in R(33,-1,-1):
				for n in R(8,-1,-1):
					for g in R(1,min(a//e if e else n,b//f if f else n,n)+1):t=a+45*b+5*n;D[t]=(D[t]+D[t-(e+45*f+5)*g]*C[e+5*f][g])%P
print(sum(D[1529-y]*Y[y]for y in R(5))%P)