#include <bits/stdc++.h>
using namespace std;
queue<int> q;
int ans[600], deg[600], g[600][600], n;
int fn() {
  int i, temp, j;
  for (i = 1; i <= n; i++) {
    if (ans[i] == 0) {
      q.push(i);
      ans[i] = 1;
      while (!q.empty()) {
        temp = q.front();
        q.pop();
        for (j = 1; j <= n; j++) {
          if (temp == j || ans[j] == 2) continue;
          if (!g[temp][j]) {
            if (ans[temp] == ans[j]) {
              return 0;
            }
            if (!ans[j]) {
              if (ans[temp] == 1)
                ans[j] = 3;
              else
                ans[j] = 1;
              q.push(j);
            }
          } else {
            if (ans[j] == ans[temp]) continue;
            if (ans[j]) {
              return 0;
            }
            ans[j] = ans[temp];
            q.push(j);
          }
        }
      }
    }
  }
  return 1;
}
int main() {
  int m, i, a, b;
  cin >> n >> m;
  for (i = 0; i < m; i++) {
    cin >> a >> b;
    g[a][b] = 1;
    g[b][a] = 1;
    deg[a]++;
    deg[b]++;
  }
  for (i = 1; i <= n; i++) {
    if (deg[i] == n - 1) ans[i] = 2;
  }
  if (!fn())
    cout << "No\n";
  else {
    cout << "Yes\n";
    for (i = 1; i <= n; i++) cout << char('a' + ans[i] - 1);
  }
  return 0;
}
