/*
TASK:man
LANG:C++
*/
#define MAXN 15000

#include <iostream>
#include <queue>

using namespace std;

queue<int> Q;

bool a[MAXN+5][MAXN+5];
int m, n;
int br;

int main()
{
    scanf("%d", &m);
    
    for (int i=1; i<=m; i++)
        {
             bool used[MAXN+5]={0};
             int u, v;
             bool fl=true;
             
             scanf("%d%d", &u, &v);
             
             if (u>n) n=u;
             if (v>n) n=v;
             
             if (u==v)  continue;
             
             
             used[u]=1;
             while (!Q.empty()) Q.pop();
             Q.push(u);
             
             while (!Q.empty())
                   {
                               int j;
                               
                               u=Q.front();
                               Q.pop();
                               
                               for (j=0; j<=n; j++)
                                   if (a[u][j]&&!used[j])
                                      {
                                                             if (j==v) { fl=false; break; }
                                                             Q.push(j);
                                                             used[j]=1;
                                      }
                               if (j<=n) break;
                   }
             
             if (Q.empty()&&fl) { a[u][v]=a[v][u]=1; br++; }
        }
    
    printf("%d\n", br);
    
return 0;
}

