#include <bits/stdc++.h>
using namespace std;
int n, m, a[505][505], x, y, flag, tag[505], num;
int main() {
  scanf("%d%d", &n, &m);
  for (int i = 1; i <= m; i++) {
    scanf("%d%d", &x, &y);
    a[x][y] = 1;
    a[y][x] = 1;
  }
  for (int i = 1; i <= n; i++) {
    flag = 1;
    for (int j = 1; j <= n; j++) {
      if (j != i && a[j][i] == 0) {
        flag = 0;
        break;
      }
    }
    if (flag == 1) tag[i] = 500;
  }
  for (int i = 1; i <= n; i++) {
    if (tag[i] == 0) {
      num++;
      tag[i] = num;
      for (int j = 1; j <= n; j++) {
        if (a[i][j] == 1 && i != j) {
          if (tag[j] != 500 && tag[j] != 0) {
            printf("No");
            return 0;
          }
          if (tag[j] == 0) tag[j] = num;
        }
      }
    } else {
      if (tag[i] != 500) {
        for (int j = 1; j <= n; j++) {
          if (a[i][j] == 1 && i != j && (tag[i] != tag[j] && tag[j] != 500)) {
            printf("No");
            return 0;
          }
          if (i != j && tag[i] == tag[j] && a[i][j] == 0) {
            printf("No");
            return 0;
          }
        }
      }
    }
  }
  if (num >= 3)
    printf("No");
  else {
    printf("Yes\n");
    for (int i = 1; i <= n; i++) {
      if (tag[i] == 1) printf("a");
      if (tag[i] == 2) printf("c");
      if (tag[i] == 500) printf("b");
    }
  }
}
