N,M=map(int,input().split()) S=input().strip() E=[[] for i in range(N)] for i in range(M): x,y=map(int,input().split()) x-=1 y-=1 E[x].append(y) E[y].append(x) mod=10**9+7 DP=[0]*N for i in range(N): if S[i]=="P": DP[i]=1 DP2=[0]*N for i in range(N): if DP[i]>0: for to in E[i]: if S[to]=="D": DP2[to]+=DP[i] DP3=[0]*N for i in range(N): if DP2[i]>0: for to in E[i]: if S[to]=="C": DP3[to]+=DP2[i] DP4=[0]*N for i in range(N): if DP3[i]>0: for to in E[i]: if S[to]=="A": DP4[to]+=DP3[i] ANS=sum(DP4) print(ANS%mod)