N,M = map(int,input().split()) S = input() lis = [ [] for i in range(N) ] for i in range(M): A,B = map(int,input().split()) A -= 1 B -= 1 lis[A].append(B) lis[B].append(A) qnum_base = 0 for i in range(N): if S[i] == "?": qnum_base += 1 mod = 998244353 ans = 0 for v in range(N): aoiq = [0,0,0,0] if S[v] not in "o?": continue if S[v] == "o": qnum = qnum_base else: qnum = qnum_base-1 for i in lis[v]: if S[i] == "a": aoiq[0] += 1 elif S[i] == "o": aoiq[1] += 1 elif S[i] == "i": aoiq[2] += 1 else: aoiq[3] += 1 ans += aoiq[0] * aoiq[2] * pow(26,qnum,mod) % mod ans %= mod if aoiq[3] >= 1: ans += aoiq[0] * aoiq[3] * pow(26,qnum-1,mod) % mod ans %= mod ans += aoiq[3] * aoiq[2] * pow(26,qnum-1,mod) % mod ans %= mod if aoiq[3] >= 2: ans += aoiq[3] * (aoiq[3]-1) * pow(26,qnum-2,mod) % mod ans %= mod print (ans % mod)