MOD = 10**9+7 N, M = map(int, input().split()) S = input() G = [list(map(int, input().split())) for _ in range(M)] edges = [[] for _ in range(N)] check = ['PD','DC','CA'] for a, b in G: tmp1 = S[a-1]+S[b-1] tmp2 = S[b-1]+S[a-1] for i in check: if tmp1 == i: edges[a - 1].append(b - 1) if tmp2 == i: edges[b - 1].append(a - 1) ans = 0 for i in range(N): if S[i]=="P": for j in edges[i]: for k in edges[j]: ans += len(edges[k])%MOD print(ans%MOD)