func_code_string: #include <bits/stdc++.h>   using namespace std;   const int N = 8;   bool vis[N][N];   int n, m, ans, a[8];   vector<pair<int, int> > edges;   vector<int> v;   int calc() {     memset(vis, 0, sizeof vis);     for (auto X : edges) {       int x = X.first;       int y = X.second;       vis[a[x]][a[y]] = vis[a[y]][a[x]] = 1;     }     int ret = 0;     for (int i = 1; i <= 6; i++)       for (int j = i; j <= 6; j++) ret += vis[i][j];     return ret;   }   void bt(int i) {     if (i == n + 1) {       for (int i = 1; i <= n; i++) a[i] = v[i];       ans = max(ans, calc());       return;     }     for (int j = 1; j <= 6; j++) {       v.push_back(j);       bt(i + 1);       v.pop_back();     }   }   int main() {     scanf( %d%d , &n, &m);     for (int i = 1; i <= m; i++) {       int a, b;       scanf( %d%d , &a, &b);       edges.push_back({a, b});     }     if (n <= 6) {       printf( %d n , m);       return 0;     }     v.push_back(69);     bt(1);     printf( %d n , ans);   }   