func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long int M = 1e3 + 7;   map<long long int, long long int> value, visit;   long long int n, m, points[M][M];   long long int bfs(long long int node) {     long long int i;     for (i = 1; i < n + 1; i++) {       if (points[node][i] == 1) {         if (value[i] == 0) {           value[i] = value[node];         } else if (value[i] != 2 && value[i] != value[node])           return -1;       }     }     return 0;   }   long long int check() {     long long int i, j;     for (i = 1; i < n + 1; i++) {       for (j = 1; j < n + 1; j++) {         if (points[i][j] == 1) {           if ((value[i] == 1 && value[j] == 3) ||               (value[i] == 3 && value[j] == 1)) {             return 0;           }         }       }     }   }   int main() {     scanf( %lld , &n);     scanf( %lld , &m);     long long int i, j, a, b, cnta = 0, cntb = 0, cntc = 0;     for (i = 0; i < m; i++) {       scanf( %lld , &a);       scanf( %lld , &b);       points[a][b] = 1;       points[b][a] = 1;     }     for (i = 1; i < n + 1; i++) {       long long int flag = 1;       for (j = 1; j < n + 1; j++) {         if (points[i][j] == 0 && i != j) flag = 0;       }       if (flag == 1) {         value[i] = 2;       }     }     for (i = 1; i < n + 1; i++) {       for (j = 1; j < n + 1; j++) {         if (points[i][j] == 0 && i != j) {           if (value[i] == 0 || value[j] == 0) {             if (value[i] == 0 && value[j] == 0) {               value[i] = 1;               value[j] = 3;               if (bfs(i) == -1) {                 printf( No n );                 return 0;               }               if (bfs(j) == -1) {                 printf( No n );                 return 0;               }             } else if (value[i] == 0) {               value[i] = 4 - value[j];               if (bfs(i) == -1) {                 printf( No n );                 return 0;               }             } else {               value[j] = 4 - value[i];               if (bfs(j) == -1) {                 printf( No n );                 return 0;               }             }           } else if (value[i] == value[j]) {             printf( No n );             return 0;           }         }       }     }     if (check() == 0) {       printf( No n );       return 0;     }     printf( Yes n );     for (i = 1; i < n + 1; i++) {       if (value[i] == 1)         printf( a );       else if (value[i] == 2)         printf( b );       else         printf( c );     }     printf(  n );     return 0;   }   