#include <iostream>
#include <iomanip>
#include <algorithm>
#include <set>
#include <map>
#include <stack>
#include <vector>
#include <cmath>
#include <string>
#include <queue>
#include <cstring>
#include <cstdio>

typedef long long ll;
using namespace std;
/*
7 7
1 3
2 7
3 4
4 5
4 6
5 6
6 7
*/

struct node
{
    int ai;
    int bi;
};
node arr[100];
int dad[100];

bool check(int n)
{
    int cnt=0;
    for(int i=1;i<=n;i++)
    {
        if(dad[i]==i)
        {
            ++cnt;
        }
    }
    if(cnt==1)
        return true;
    return false;
}
int find(int x){

   return x==dad[x]?x:(dad[x]=find(dad[x]));
}

int main()
{

    int n,m;
    cin>>n>>m;
    for(int i=0;i<m;i++)
    {
        int ai,bi;
        cin>>ai>>bi;
        arr[i].ai = ai;
        arr[i].bi = bi;
    }
    int ans = 0;
    for(int i=0;i<m;i++)
    {
        for(int k=0;k<=n;k++)
            dad[k]=k;
        for(int j=0;j<m;j++)
        {
            if(j==i)
                continue;
            int fx=find(arr[j].ai);
            int fy=find(arr[j].bi);
            dad[fx]=fy;
        }
        if(check(n)==true)
            {
                ans++;

            }
    }
    cout<<m-ans<<endl;
    return 0;
}
