p = 10**9+7 N,M = map(int,input().split()) S = input().strip() S = "0"+S G = {i:[] for i in range(1,N+1)} for _ in range(M): u,v = map(int,input().split()) G[u].append(v) G[v].append(u) A = [0 for _ in range(N+1)] for i in range(1,N+1): if S[i]=="P": A[i]=1 for j in G[i]: if S[j]=="D": A[j] = (A[j]+A[i])%p for i in range(1,N+1): if S[i]=="D": for j in G[i]: if S[j]=="C": A[j] = (A[j]+A[i])%p for i in range(1,N+1): if S[i]=="C": for j in G[i]: if S[j]=="A": A[j] = (A[j]+A[i])%p cnt = 0 for i in range(1,N+1): if S[i]=="A": cnt = (cnt+A[i])%p print(cnt)