#include<bits/stdc++.h>
using namespace std;
#define RI register int
int read() {
	int q=0;char ch=' ';
	while(ch<'0'||ch>'9') ch=getchar();
	while(ch>='0'&&ch<='9') q=q*10+ch-'0',ch=getchar();
	return q;
}
const int N=200005;
char s[N];int tot,top,n,m,js;
int st[N],h[N],ne[N<<1],to[N<<1],va[N],vb[N],ban[N];
void add(int x,int y) {to[++tot]=y,ne[tot]=h[x],h[x]=tot;}
int main()
{
	int x,y;
	n=read(),m=read();
	scanf("%s",s+1);
	for(RI i=1;i<=m;++i) {
		x=read(),y=read(),add(x,y),add(y,x);
		if(s[x]=='A') ++va[y]; else ++vb[y];
		if(s[y]=='A') ++va[x]; else ++vb[x];
	}
	for(RI i=1;i<=n;++i) if(!va[i]||!vb[i]) st[++top]=i,ban[i]=1;
	while(top) {
		x=st[top],++js,--top;
		for(RI i=h[x];i;i=ne[i]) {
			if(ban[to[i]]) continue;
			if(s[x]=='A') --va[to[i]];
			else --vb[to[i]];
			if(!va[to[i]]||!vb[to[i]]) st[++top]=to[i],ban[to[i]]=1;
		}
	}
	if(js<n) puts("Yes");
	else puts("No");
	return 0;
}