#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 5;
char s[N];
vector<int> conn[N];
bool same[N], diff[N];
int n;
set<string> st;
void dfs(int k, int u, string z) {
  if (k == 5) {
    st.insert(z);
    return;
  }
  for (int i : conn[u]) {
    z.push_back(s[i]);
    dfs(k + 1, i, z);
    z.pop_back();
  }
}
int main() {
  int m;
  scanf("%d %d", &n, &m);
  scanf("%s", s);
  for (int i = 0; i < m; ++i) {
    int a, b;
    scanf("%d %d", &a, &b);
    a--, b--;
    conn[a].emplace_back(b);
    conn[b].emplace_back(a);
  }
  for (int i = 0; i < n; ++i) {
    string x;
    x.push_back(s[i]);
    dfs(0, i, x);
  }
  if (st.size() == 64)
    puts("Yes");
  else
    puts("No");
}
