#include <bits/stdc++.h>
using namespace std;
long long int power(long long int a, long long int b) {
  long long int ans = 1;
  while (b > 0) {
    if (b & 1) {
      ans *= a;
    }
    a *= a;
    b /= 2;
  }
  return ans;
}
bool compare(pair<long long int, long long int> i,
             pair<long long int, long long int> j) {
  return (i.first > j.first);
}
map<long long int, vector<long long int>> M;
long long int c[1000];
long long int str[1000];
bool vis[1000];
long long int edge[1000][1000];
long long int n, m;
void dfs_c(long long int i) {
  if (vis[i]) {
    return;
  } else {
    vis[i] = true;
    str[i] = 3;
    for (long long int j = 1; j <= n; j++) {
      if (edge[i][j] != 0) {
        dfs_c(j);
      }
    }
  }
}
void dfs_a(long long int i) {
  if (vis[i])
    return;
  else {
    vis[i] = true;
    str[i] = 1;
    for (long long int j = 1; j <= n; j++) {
      if (edge[i][j] != 0) {
        dfs_a(j);
      }
    }
  }
}
int main() {
  cin >> n >> m;
  for (long long int i = 1; i <= m; i++) {
    long long int p, q;
    scanf("%ld %ld", &p, &q);
    edge[p][q]++;
    edge[q][p]++;
    edge[p][p];
    edge[q][q];
    c[p]++;
    c[q]++;
  }
  for (long long int i = 1; i <= n; i++) {
    if (c[i] == n - 1) {
      str[i] = 2;
      vis[i] = true;
    }
  }
  for (long long int i = 1; i <= n; i++) {
    if (!vis[i]) {
      dfs_a(i);
      break;
    }
  }
  for (long long int i = 1; i <= n; i++) {
    if (!vis[i]) {
      dfs_c(i);
      break;
    }
  }
  for (long long int i = 1; i <= n; i++) {
    if (!vis[i]) {
      cout << "NO";
      return 0;
    }
  }
  for (long long int i = 1; i <= n; i++) {
    for (long long int j = 1; j <= n; j++) {
      if (j == i) continue;
      if (edge[i][j] == 1) {
        if (abs(str[i] - str[j]) > 1) {
          cout << "NO";
          return 0;
        }
      } else if (edge[i][j] == 0) {
        if (abs(str[i] - str[j]) <= 1) {
          cout << "NO";
          return 0;
        }
      }
    }
  }
  cout << "YES" << endl;
  for (long long int i = 1; i <= n; i++) {
    if (str[i] == 1)
      printf("a");
    else if (str[i] == 2)
      printf("b");
    else if (str[i] == 3)
      printf("c");
  }
  return 0;
}
