#include <bits/stdc++.h>
using namespace std;
int in[501][501];
char o[501];
set<char> nei;
int main() {
  string s = "a";
  int n, m, x, y;
  cin >> n >> m;
  for (int i = 0; i < m; i++) {
    cin >> x >> y;
    in[x - 1][y - 1] = 1;
    in[y - 1][x - 1] = 1;
    in[x - 1][500]++;
    in[y - 1][500]++;
  }
  if (n == 2 && m == 0) {
    cout << "Yes\n"
         << "ac";
    return 0;
  }
  for (int i = 0; i < n; i++)
    if (in[i][500] == n - 1) o[i] = 'b';
  for (int i = 0; i < n; i++) {
    if (in[i][500] == n - 1) continue;
    for (int j = 0; j < n; j++)
      if (in[i][j] == 1 && o[j] != 'b' && o[j] != 0)
        nei.insert(o[j]);
      else if (in[i][j] == 0) {
        char q = o[j];
        if (o[j] == 'b') {
          cout << "No";
          return 0;
        }
        if (o[j] == 'c')
          nei.insert('a');
        else if (o[j] == 'a')
          nei.insert('c');
      }
    if (nei.count('a') && nei.count('c')) {
      cout << "No";
      return 0;
    }
    if (nei.count('a'))
      o[i] = 'a';
    else
      o[i] = 'c';
    nei.clear();
  }
  for (int i = 0; i < n; i++)
    if (o[i] == 0) {
      cout << "No";
      return 0;
    }
  cout << "Yes\n";
  for (int i = 0; i < n; i++) cout << o[i];
  return 0;
}
