#include <bits/stdc++.h>
using namespace std;
int main() {
  int v, e;
  cin >> v >> e;
  vector<set<int> > g(v);
  int a, b;
  for (int i = 0; i < e; i++) {
    cin >> a >> b;
    g[a - 1].insert(b - 1);
    g[b - 1].insert(a - 1);
  }
  int ans = 0;
  while (1) {
    vector<int> ve;
    for (int i = 0; i < v; i++) {
      if (g[i].size() == 1) {
        ve.push_back(i);
      }
    }
    for (int i = 0; i < ve.size(); i++) {
      set<int>::iterator it = g[ve[i]].begin();
      g[ve[i]].clear();
      g[*it].erase(ve[i]);
    }
    if (ve.size())
      ans++;
    else
      break;
  }
  cout << ans << endl;
}
