n, m = [ int(v) for v in input().split() ] s = input() mod = 1000000007 dlist= [ 0 for i in range(n) ] clist= [ 0 for i in range(n) ] dclist = [] for i in range(m): x, y = [ int(v) for v in input().split() ] if s[x-1] == "P" and s[y-1] == "D": dlist[y-1] += 1 elif s[x-1] == "D" and s[y-1] == "P": dlist[x-1] += 1 elif s[x-1] == "D" and s[y-1] == "C": dclist.append([x-1,y-1]) elif s[x-1] == "C" and s[y-1] == "D": dclist.append([y-1,x-1]) elif s[x-1] == "C" and s[y-1] == "A": clist[x-1] += 1 elif s[x-1] == "A" and s[y-1] == "C": clist[y-1] += 1 s = 0 for i in dclist: s += (dlist[i[0]]*clist[i[1]]) ans = s % mod print(ans)