func_code_string: #include <bits/stdc++.h>   using namespace std;   int read() {     int x = 0;     char c = getchar();     while (c <  0  ||  9  < c) c = getchar();     while ( 0  <= c && c <=  9 )       x = (x << 3) + (x << 1) + (c ^ 48), c = getchar();     return x;   }   int p[200000 + 5];   int tp, stk[200000 + 5];   int U[200000 + 5], V[200000 + 5];   map<pair<int, int>, bool> Map;   int main() {     int n = read(), m = read();     for (int i = 1; i <= m; i++) {       U[i] = read(), V[i] = read();       Map[make_pair(U[i], V[i])] = 1;       Map[make_pair(V[i], U[i])] = 1;     }     for (int i = 1; i <= n; i++) p[i] = i;     for (int t = 100; t >= 0; t--) {       random_shuffle(p + 1, p + n + 1);       p[n + 1] = p[1];       tp = 0;       for (int i = 1; i <= n && tp < m; i++)         if (!Map.count(make_pair(p[i], p[i + 1]))) stk[++tp] = i;       if (tp == m) {         for (int i = 1; i <= m; i++) printf( %d %d n , p[stk[i]], p[stk[i] + 1]);         return 0;       }     }     puts( -1 );     return 0;   }   