func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long int N = 1e5 + 1, mod = 1000000007;   vector<long long int> adj[N];   signed main() {     ios_base::sync_with_stdio(false), cin.tie(NULL), cout.tie(NULL);     long long int pro = 1, temp, t, n, i, m, k, j, l, r, mid, x, y, z, rem,                   carry = 0, ind, ans = 0, mx = -LONG_LONG_MAX,                   mn = LONG_LONG_MAX, cnt = 0, curr = 0, prev, sum = 0, flag = 0,                   i1 = -1, i2 = -1;     cin >> n >> m;     for (i = 1; i <= m; i++) {       cin >> x >> y;       adj[x].push_back(y);       adj[y].push_back(x);     }     if (n < 2 || m >= (n * (n - 1)) / 2) {       return cout <<  NO , 0;     }     cout <<  YES n ;     long long int a[n + 1], b[n + 1];     for (i = 1; i <= n; i++) {       b[i] = 1;     }     curr = 2;     for (i = 1; i <= n; i++) {       flag = 0;       for (auto it : adj[i]) {         if (b[it] == b[i]) {           flag = 1;           b[it] = curr;         }       }       if (flag) {         curr++;       }     }     vector<pair<long long int, long long int> > v;     v.push_back({-1, 0});     for (i = 1; i <= n; i++) {       v.push_back({b[i], i});     }     sort(v.begin(), v.end());     for (i = 1; i <= n; i++) {       a[v[i].second] = i;     }     for (i = 1; i <= n; i++) {       cout << a[i] <<    ;     }     cout << endl;     for (i = 1; i <= n; i++) {       cout << b[i] <<    ;     }     return 0;   }   