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[-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)