func_code_string: #include <bits/stdc++.h>   using namespace std;   constexpr int N = 23;   int n, m, u, v, adj[N], hamsaye[1 << N], ans = N, ans2;   bool connected[1 << N];   int main() {     ios_base::sync_with_stdio(false);     cin.tie(0);     cout.tie(0);     cin >> n >> m;     if (2 * m == n * (n - 1)) {       cout << 0 <<   n ;       return 0;     }     for (int i = 0; i < m; i++) {       cin >> u >> v;       u--, v--;       adj[u] ^= 1 << v;       adj[v] ^= 1 << u;     }     for (int i = 0; i < n; i++) adj[i] ^= (1 << i);     connected[0] = true;     for (int mask = 1; mask < (1 << n); mask++) {       if (__builtin_popcount(mask) == 1) {         connected[mask] = true;         continue;       }       for (int i = 0; i < n; i++) {         if ((adj[i] & (mask ^ (1 << i))) && connected[mask ^ (1 << i)])           connected[mask] = true;       }     }     for (int mask = 1; mask < (1 << n); mask++) {       hamsaye[mask] =           adj[__builtin_ctz(mask)] | hamsaye[mask ^ (1 << __builtin_ctz(mask))];       if (connected[mask] && __builtin_popcount(hamsaye[mask]) == n) {         if (__builtin_popcount(mask) < ans) {           ans = __builtin_popcount(mask);           ans2 = mask;         }       }     }     cout << ans <<   n ;     for (int i = 0; i < n; i++)       if (ans2 & (1 << i)) cout << i + 1 <<    ;     cout <<   n ;     return 0;   }   