#include <bits/stdc++.h>
using namespace std;
int const Maxn = 5001;
int G[Maxn][Maxn];
int Ind[Maxn];
bool flag = true;
char str[Maxn];
int n, e;
int main() {
  cin >> n >> e;
  while (e--) {
    int a, b;
    cin >> a >> b;
    G[a][b] = G[b][a] = 1;
    Ind[a]++;
    Ind[b]++;
  }
  for (int i = 1; i <= n; i++) {
    if (Ind[i] == n - 1) {
      str[i] = 'b';
    } else {
      str[i] = 'a';
    }
  }
  for (int i = 1; i <= n; i++) {
    if (str[i] == 'a') {
      for (int j = i + 1; j <= n; j++) {
        if (G[i][j] == 0) {
          str[j] = 'c';
        }
      }
    }
    if (str[i] == 'c') {
      for (int j = 1; j < i; j++) {
        if (str[j] == 'a' && G[i][j] == 1) {
          flag = false;
        }
      }
      for (int j = i + 1; j <= n; j++) {
        if (str[j] == 'c' && G[i][j] == 0) {
          flag = false;
        }
      }
    }
  }
  if (flag) {
    cout << "Yes" << endl << str + 1 << endl;
  } else {
    cout << "No" << endl;
  }
}
