from collections import defaultdict mod = 10**9+7 n, m = map(int,input().split()) S = input() edge = [[] for _ in range(n)] for _ in range(m): u, v = map(lambda x:int(x)-1,input().split()) edge[u].append(v) edge[v].append(u) D = {} C = {} A = {} for k, v in enumerate(S): if v != "P": continue for to in edge[k]: if S[to] == "D": D[str(k)+" "+str(to)] = 1 #print(D) for i in D.keys(): j = int(i[-1]) for to in edge[j]: if S[to] == "C": C[i+" "+str(to)] = 1 #print(C) for i in C.keys(): j = int(i[-1]) for to in edge[j]: if S[to] == "A": A[i+" "+str(to)] = 1 #print(A) print(len(A.keys())%mod)