#include <bits/stdc++.h>
#include <stdio.h>
using namespace std;
//#define int long long
#define dd double
#define ld long double
#define ull unsigned long long
#define yes cout << "YES\n"
#define no cout << "NO\n"
#define el "\n"
#define Arwa ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define fix(x) cout << fixed << setprecision(x)
#define all(v) v.begin(),v.end()
//#define mod 1000000007
// checkprime
bool prime(int n) {
if (n == 2) return true;
if (n % 2 == 0 || n == 1) return false;
for (int i = 3; i * i <= n; i += 2)
if (n % i == 0) return false;
return true;
}
// Gcd
int gcd(int a, int b) { return b == 0 ? a : gcd(b, a % b); }
// Lcm
int lcm(int a, int b) { return a / gcd(a, b) * b; } // __lcm(a,b)
// divisors
vector<int> GetDivisors(int n)
{
vector<int>divisors;
for(int i=1;i*i<=n;i++)
{
if(n%i==0)
{
if(i==n/i)
divisors.push_back(i);
else
{
divisors.push_back(i);
divisors.push_back(n/i);
}
}
}
return divisors;
}
int fastPower(int n,int x,int mod) //power,number,mod
{
if(n==0) return 1%mod;
if(n==1) return x%mod;
int ans=fastPower(n/2,x,mod);
ans=ans*ans % mod;
if(n&1) ans= ans*x%mod ;
return ans;
}
void HereWeGoAgain()
{
int n,m,res=0;
cin>>n>>m;
pair<int,int> arr[m];
map<int,int>c;
map<pair<int,int>,bool>f;
for(int i=0;i<m;i++)
cin>>arr[i].first>>arr[i].second;
for(int i=0;i<m;i++)
c[arr[i].first]++,c[arr[i].second]++;
for(int i=0;i<m;i++)
{
int cnt=0;
for(int j=0;j<m;j++)
{
if(c[arr[j].first]==1||c[arr[j].second]==1)
f[arr[j]]=1;
}
for(int j=0;j<m;j++)
{
if(f[arr[j]]==1)
{
if(c[arr[j].first]==1||c[arr[j].second]==1)
{
c[arr[j].second]--,c[arr[j].first]--;
f[arr[j]]=0;
cnt++;
}
}
}
if(cnt) res++;
else break;
}
cout<<res<<el;
}
//اى ويل بريبير ماى بيبرز تو بى ذا بيست ان زيس وورلد
int32_t main()
{
Arwa
int t=1;
//cin>>t;
while(t--)
{
HereWeGoAgain();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNpbmNsdWRlIDxzdGRpby5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwovLyNkZWZpbmUgaW50IGxvbmcgbG9uZwojZGVmaW5lIGRkIGRvdWJsZQojZGVmaW5lIGxkIGxvbmcgZG91YmxlCiNkZWZpbmUgdWxsIHVuc2lnbmVkIGxvbmcgbG9uZwojZGVmaW5lIHllcyBjb3V0IDw8ICJZRVNcbiIKI2RlZmluZSBubyBjb3V0IDw8ICJOT1xuIgojZGVmaW5lIGVsICJcbiIKI2RlZmluZSBBcndhIGlvczo6c3luY193aXRoX3N0ZGlvKDApOyBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKI2RlZmluZSBmaXgoeCkgY291dCA8PCBmaXhlZCA8PCBzZXRwcmVjaXNpb24oeCkKI2RlZmluZSBhbGwodikgdi5iZWdpbigpLHYuZW5kKCkKLy8jZGVmaW5lIG1vZCAxMDAwMDAwMDA3Ci8vIGNoZWNrcHJpbWUgCmJvb2wgcHJpbWUoaW50IG4pIHsKICAgIGlmIChuID09IDIpIHJldHVybiB0cnVlOwogICAgaWYgKG4gJSAyID09IDAgfHwgbiA9PSAxKSByZXR1cm4gZmFsc2U7CiAgICBmb3IgKGludCBpID0gMzsgaSAqIGkgPD0gbjsgaSArPSAyKQogICAgICAgIGlmIChuICUgaSA9PSAwKSByZXR1cm4gZmFsc2U7CiAgICAgICAgcmV0dXJuIHRydWU7Cn0KLy8gR2NkCmludCBnY2QoaW50IGEsIGludCBiKSB7IHJldHVybiBiID09IDAgPyBhIDogZ2NkKGIsIGEgJSBiKTsgfQovLyBMY20KaW50IGxjbShpbnQgYSwgaW50IGIpIHsgcmV0dXJuIGEgLyBnY2QoYSwgYikgKiBiOyB9IC8vIF9fbGNtKGEsYikKLy8gZGl2aXNvcnMKdmVjdG9yPGludD4gR2V0RGl2aXNvcnMoaW50IG4pCnsKICAgIHZlY3RvcjxpbnQ+ZGl2aXNvcnM7CiAgICBmb3IoaW50IGk9MTtpKmk8PW47aSsrKQogICAgewogICAgICAgIGlmKG4laT09MCkKICAgICAgICB7CiAgICAgICAgICAgIGlmKGk9PW4vaSkKICAgICAgICAgICAgZGl2aXNvcnMucHVzaF9iYWNrKGkpOwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgZGl2aXNvcnMucHVzaF9iYWNrKGkpOwogICAgICAgICAgICBkaXZpc29ycy5wdXNoX2JhY2sobi9pKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBkaXZpc29yczsgCn0KaW50IGZhc3RQb3dlcihpbnQgbixpbnQgeCxpbnQgbW9kKSAvL3Bvd2VyLG51bWJlcixtb2QKewogICAgaWYobj09MCkgcmV0dXJuIDElbW9kOwogICAgaWYobj09MSkgcmV0dXJuICB4JW1vZDsKICAgIGludCBhbnM9ZmFzdFBvd2VyKG4vMix4LG1vZCk7CiAgICBhbnM9YW5zKmFucyAlIG1vZDsKICAgIGlmKG4mMSkgYW5zPSBhbnMqeCVtb2QgOwogICAgcmV0dXJuIGFuczsKfQp2b2lkIEhlcmVXZUdvQWdhaW4oKQp7CiAgIGludCBuLG0scmVzPTA7CiAgIGNpbj4+bj4+bTsKICAgcGFpcjxpbnQsaW50PiBhcnJbbV07CiAgIG1hcDxpbnQsaW50PmM7CiAgIG1hcDxwYWlyPGludCxpbnQ+LGJvb2w+ZjsKICAgZm9yKGludCBpPTA7aTxtO2krKykKICAgY2luPj5hcnJbaV0uZmlyc3Q+PmFycltpXS5zZWNvbmQ7CiAgIGZvcihpbnQgaT0wO2k8bTtpKyspCiAgIGNbYXJyW2ldLmZpcnN0XSsrLGNbYXJyW2ldLnNlY29uZF0rKzsKICAgZm9yKGludCBpPTA7aTxtO2krKykKICAgewogICAgaW50IGNudD0wOwogICAgZm9yKGludCBqPTA7ajxtO2orKykKICAgIHsKICAgICAgIGlmKGNbYXJyW2pdLmZpcnN0XT09MXx8Y1thcnJbal0uc2Vjb25kXT09MSkgCiAgICAgICBmW2FycltqXV09MTsKICAgIH0KICAgICAKICAgIGZvcihpbnQgaj0wO2o8bTtqKyspCiAgICB7CiAgICAgICAgaWYoZlthcnJbal1dPT0xKQogICAgICAgIHsKICAgICAgIGlmKGNbYXJyW2pdLmZpcnN0XT09MXx8Y1thcnJbal0uc2Vjb25kXT09MSkgCiAgICAgICB7CiAgICAgICBjW2FycltqXS5zZWNvbmRdLS0sY1thcnJbal0uZmlyc3RdLS07IAogICAgICAgZlthcnJbal1dPTA7CiAgICAgICBjbnQrKzsKICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICBpZihjbnQpIHJlcysrOwogICAgIGVsc2UgYnJlYWs7CiAgIH0KICAgY291dDw8cmVzPDxlbDsKfQoKLy/Yp9mJINmI2YrZhCDYqNix2YrYqNmK2LEg2YXYp9mJINio2YrYqNix2LIg2KrZiCDYqNmJINiw2Kcg2KjZitiz2Kog2KfZhiDYstmK2LMg2YjZiNix2YTYrwppbnQzMl90IG1haW4oKSAKewogICAgQXJ3YQogICAgaW50IHQ9MTsKICAgIC8vY2luPj50OwogICAgd2hpbGUodC0tKQogICAgewogICAgSGVyZVdlR29BZ2FpbigpOwogICAgfQogICAgcmV0dXJuIDA7Cn0KCg==