#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;

int n,m;
int a,b,c;
int ans;
int g[60][60];
vector<int> v(60);

void dfs(int x){
  for(int k=0;k<n;k++){
    if(g[x][k]>0 && g[x][k]!=c){
      if(v[k]==0){
	v[k]=1;dfs(k);
      }
    }
  }
}
int main(){
  cin>>n>>m;ans=0;
  for(int i=0;i<n;i++)
    for(int j=0;j<n;j++)
      g[i][j]=0;
  for(int i=1;i<=m;i++){
    cin>>a>>b;
    g[a-1][b-1]=i;g[b-1][a-1]=i;
  }
  for(int i=1;i<=m;i++){
    c=i;
    fill(v.begin(),v.end(),0);
    v[0]=1;
    dfs(0);
    if(count(v.begin(),v.begin()+n,1)!=n){
      ans++;
    } 
  }
  cout<<ans<<endl;
  return 0;
}
