#include <bits/stdc++.h>
const double eps = 1e-8;
using namespace std;
int a[505][505];
int b[505];
int c[505];
int d[505];
int n;
int ans;
int main() {
  int t, cases = 0;
  int m, u, v;
  scanf("%d %d", &n, &m);
  for (int i = 0; i < m; i++) {
    scanf("%d %d", &u, &v);
    a[u][v] = a[v][u] = 1;
    c[u]++;
    c[v]++;
  }
  int now = 1;
  for (int i = 1; i <= n; i++) {
    if (c[i] == n - 1) b[i] = 2;
  }
  for (int i = 1; i <= n; i++) {
    if (b[i] == 0) {
      b[i] = 1;
      for (int j = i + 1; j <= n; j++) {
        if (j != i && !b[j]) {
          if (a[i][j] == 0)
            b[j] = 3;
          else
            b[j] = 1;
        }
      }
    }
  }
  for (int i = 1; i <= n; i++) {
    if (b[i] == 0) b[i] = 2;
  }
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= n; j++) {
      if (i != j) {
        if (a[i][j] == 0 && (b[i] == b[j] || b[i] == 2 || b[j] == 2)) {
          now = 0;
          break;
        }
        if (a[i][j] == 1 && b[i] + b[j] == 4 && b[i] != 2) {
          now = 0;
          break;
        }
      }
    }
    if (now == 0) break;
  }
  if (now == 0)
    printf("No\n");
  else {
    printf("Yes\n");
    for (int i = 1; i <= n; i++) {
      printf("%c", b[i] - 1 + 'a');
    }
    printf("\n");
  }
  return 0;
}
