#include <bits/stdc++.h>
using namespace std;
int v[505][505];
int main() {
  int n, m, a, b, cnt[100005], i, j, k, x, flag;
  char s[100005];
  cin >> n >> m;
  memset(v, 0, sizeof(v));
  for (i = 0; i < n; i++) cnt[i] = 0;
  for (i = 0; i < m; i++) {
    cin >> a >> b;
    a--;
    b--;
    cnt[a]++;
    cnt[b]++;
    v[a][b] = 1;
    v[b][a] = 1;
  }
  for (i = 0; i < n; i++) {
    if (cnt[i] == n - 1) s[i] = 'b';
  }
  for (i = 0; i < n; i++) {
    if (!s[i]) {
      s[i] = 'a';
      for (j = 0; j < n; j++) {
        if (!s[j]) {
          if (v[i][j])
            s[j] = 'a';
          else
            s[j] = 'c';
        }
      }
    }
  }
  s[n] = '\0';
  flag = 0;
  for (i = 0; i < n; i++) {
    for (j = 0; j < n; j++) {
      if (i == j)
        continue;
      else {
        if ((v[i][j] && abs(s[i] - s[j]) == 2) ||
            (!v[i][j] && abs(s[i] - s[j]) < 2)) {
          flag = 1;
          break;
        }
      }
    }
    if (flag) break;
  }
  if (flag == 1)
    cout << "No" << endl;
  else {
    cout << "Yes" << endl;
    printf("%s\n", s);
  }
  return 0;
}
