#include <bits/stdc++.h>
const int INF = 0x3f3f3f3f;
const int N = 4e3 + 5;
using namespace std;
int t, n, m, x, y, z;
int mp[505][505] = {0}, vis[505] = {0}, cc = 0, aa = 0, bb = 0, flag = 0;
char c[505] = {0};
int main() {
  cin >> n >> m;
  while (m--) {
    cin >> x >> y;
    vis[x]++;
    vis[y]++;
    mp[x][y] = mp[y][x] = 1;
  }
  for (int i = 1; i <= n; i++) {
    if (vis[i] == n - 1) {
      if (bb == 0) x = i;
      c[i] = 'b';
      bb++;
    }
  }
  for (int i = 1; i <= n; i++) {
    if (bb == 0) {
      if (aa == 0) y = i;
      c[i] = 'a';
      aa++;
      break;
    } else if (c[i] != 'b') {
      if (mp[x][i] == 1) {
        if (aa == 0) y = i;
        c[i] = 'a';
        aa++;
        break;
      }
    }
  }
  for (int i = 1; i <= n; i++) {
    if (c[i] != 'b' && c[i] != 'a') {
      if (mp[y][i] == 0) {
        c[i] = 'c';
        if (cc == 0) z = i;
        cc++;
      } else {
        c[i] = 'a';
        aa++;
      }
    }
  }
  for (int i = 1; i <= n; i++) {
    if (c[i] == 'a') {
      if (vis[i] != bb + aa - 1) flag = 1;
    } else if (c[i] == 'c') {
      if (vis[i] != cc + bb - 1) flag = 1;
    }
  }
  if (flag)
    cout << "No" << endl;
  else {
    cout << "Yes" << endl;
    for (int i = 1; i <= n; i++) {
      cout << c[i];
    }
    cout << endl;
  }
  return 0;
}
