func_code_string: #include <bits/stdc++.h>   using namespace std;   vector<set<int> > graph;   vector<int> eliminar;   set<int>::iterator ite;   void elim(int N) {     eliminar.clear();     for (int i = 1; i <= N; i++)       if (graph[i].size() == 1) eliminar.push_back(i);   }   int main() {     int n, m, n1, n2, temp, contador;     cin >> n >> m;     contador = 0;     graph.resize(n + 10);     while (m--) {       cin >> n1 >> n2;       graph[n1].insert(n2);       graph[n2].insert(n1);     }     elim(n);     while (!eliminar.empty()) {       for (int i = 0; i < eliminar.size(); i++) {         graph[eliminar[i]].clear();         for (int j = 1; j <= n; j++)           if (graph[j].find(eliminar[i]) != graph[j].end())             graph[j].erase(eliminar[i]);       }       contador++;       elim(n);     }     cout << contador << endl;   }   