#define rep(i,n) for(int i=0;i<(int)(n);i++) #define ALL(v) v.begin(),v.end() typedef long long ll; #include using namespace std; int main(){ ios::sync_with_stdio(false); std::cin.tie(nullptr); int n,m; cin>>n>>m; vector U(m),V(m); rep(i,m){ cin>>U[i]>>V[i]; U[i]--,V[i]--; } priority_queue que; rep(i,m) que.push(i); int ans=0; while(que.size()){ ans++; priority_queue que1; set s; while(que.size()){ auto t=que.top(); que.pop(); if(!s.count(U[t]) && !s.count(V[t])){ s.insert(U[t]),s.insert(V[t]); } else{ que1.push(t); } } swap(que,que1); } cout<