MOD = 10**9 + 7 import sys sys.setrecursionlimit(10**7) next = {'P':'D','D':'C','C':'A','A':'P'} def dfs(v,path): path += S[v] if path == 'PDCA': return 1 res = 0 for i in graph[v]: if S[i] == next[S[v]]: res += dfs(i,path) return res N, M = map(int, input().split()) S = input() graph = [[] for _ in range(N)] for _ in range(M): u, v = map(int, input().split()) graph[u-1].append(v-1) graph[v-1].append(u-1) ans = 0 for i in range(N): if S[i] == 'P': ans += dfs(i,'') ans %= MOD print(ans)