/*
TASK: man
LANG: C++
*/
#include <cstdio>
#include <vector>
#include <queue>
using namespace std;
int m,V[5000][2];
vector<int> A[15000];

bool way;
int start,end,br=0;

void init()
{
 scanf("%d",&m);
 for(int i=0;i<m;i++)
     scanf("%d %d",&V[i][0],&V[i][1]);
}

void bfs(int s)
{bool used[15000]={false};
 queue<int> q;
 used[s]=true;
 q.push(s);
 while(!q.empty() && !way)
   {int u=q.front();
    q.pop();
    for(int i=0;i<A[u].size();i++)
       {int v=A[u][i];
        if(!used[v]){if(v==end) {way=true;break;}
                     else {used[v]=true; q.push(v);}
                     }
        }
   }
}

int main()
{init();
 for(int i=0;i<m;i++)
  {
   way=false;
   start=V[i][0];
   end=V[i][1];
   bfs(start);
   if(!way) {br++;
             A[start].push_back(end);
             A[end].push_back(start);
             }    
   }
 printf("%d\n",br); 
 return 0;
}   
