#include <bits/stdc++.h>
using namespace std;
int aj[505][505];
int cnt[10], vis[505];
char s[505];
int main() {
  int n, m, a, b;
  cin >> n >> m;
  memset(aj, 0, sizeof(aj));
  memset(s, 0, sizeof(s));
  for (int i = 0; i < m; i++) {
    scanf("%d", &a);
    scanf("%d", &b);
    aj[a][b] = 1;
    aj[b][a] = 1;
  }
  bool fl = 0;
  for (int i = 1; i < n + 1; i++)
    for (int j = i + 1; j < n + 1; j++) {
      if (aj[i][j] == 0) {
        if (s[i] == 0) {
          s[i] = 'a';
          s[j] = 'c';
        } else if (s[i] == 'a') {
          if (s[j] == 0 || s[j] == 'c')
            s[j] = 'c';
          else
            fl = 1;
        } else if (s[i] == 'c') {
          if (s[j] == 0 || s[j] == 'a')
            s[j] = 'a';
          else
            fl = 1;
        }
      } else if (s[i] == 'a' && s[j] == 'c')
        fl = 1;
      else if (s[i] == 'c' && s[j] == 'a')
        fl = 1;
    }
  for (int i = 1; i < n + 1; i++)
    for (int j = i + 1; j < n + 1; j++) {
      if (aj[i][j] == 1 && abs(s[i] - s[j]) > 1 && abs(s[i] - s[j]) < 3) fl = 1;
    }
  if (fl == 1)
    cout << "No\n";
  else {
    for (int i = 1; i < n + 1; i++)
      if (s[i] == 0) s[i] = 'b';
    cout << "Yes\n" << s + 1 << endl;
  }
  return 0;
}
