func_code_string: #include <bits/stdc++.h>   using namespace std;   int n, m, u, v, i, j, c[505], ca = 0, cb = 0, cc = 0, cnt, nt;   int main() {     cin >> n >> m;     vector<int> g[505];     for (i = 0; i < 505; i++) c[i] = 0;     for (i = 0; i < m; i++) {       cin >> u >> v;       g[u].push_back(v);       g[v].push_back(u);       if (g[u].size() == n - 1) {         c[u] = 2;         cb++;       }       if (g[v].size() == n - 1) {         c[v] = 2;         cb++;       }     }     for (i = 1; i <= n; i++) {       if (c[i] == 0) break;     }     if (i != n + 1) {       c[i] = 1;       ca++;       for (j = 0; j < g[i].size(); j++) {         v = g[i][j];         if (c[v] == 0) {           c[v] = 1;           ca++;         }       }     }     while (i <= n && c[i] != 0) i++;     if (i != n + 1) {       c[i] = 3;       cc++;       for (j = 0; j < g[i].size(); j++) {         v = g[i][j];         if (c[v] == 2) continue;         if (c[v] == 1) {           cout <<  NO  << endl;           return 0;         } else {           c[v] = 3;           cc++;         }       }     }     while (i <= n) {       if (c[i] == 0) {         cout <<  NO  << endl;         return 0;       }       i++;     }     for (i = 1; i <= n; i++) {       u = i;       if (c[i] == 1) {         cnt = ca - 1 + cb;         nt = 3;       } else if (c[i] == 2)         cnt = n - 1;       else {         cnt = cc - 1 + cb;         nt = 1;       }       if (g[u].size() == n - 1) continue;       if (g[u].size() != cnt) {         cout <<  NO  << endl;         return 0;       }       for (j = 0; j < g[u].size(); j++) {         if (c[g[u][j]] == nt) {           cout <<  NO  << endl;           return 0;         }       }     }     cout <<  YES  << endl;     for (i = 1; i <= n; i++) {       if (c[i] == 1)         cout <<  a ;       else if (c[i] == 2)         cout <<  b ;       else         cout <<  c ;     }     return 0;   }   