/*
TASK:man
LANG:c++
*/
#include<iostream>
#include<vector>
using namespace std;
vector <int> a[15000];
bool isin(int u,int v){
     bool b=false;
     for(int j=0;j<a[u].size();j++) if (a[u][j]==v){b=true;break;}
     return b;}
       
bool pathexist(int u, int v){
if(isin(u,v) || isin(v,u)) return true;
int b=false;
            for(int j=0;j<a[u].size();j++)
            for(int k=0;k<a[v].size();k++) if(a[u][j]==a[v][k]){b=true;break;}
            return b;}
                 
int main(){
    int m,br=0;
    cin >> m;
    for(int i=0;i<m;i++){
            int u,v;
            cin >> u >> v;
            bool b=pathexist(u,v);
            if(b==false) br++;
            a[u].push_back(v);
            a[v].push_back(u);
            for(int j=0;j<a[u].size();j++) if(!isin(v,a[u][j])) a[v].push_back(a[u][j]);
            for(int j=0;j<a[v].size();j++) if(!isin(u,a[v][j])) a[u].push_back(a[v][j]);
            }
    cout << br << endl;
    return 0;
}
            
