#include <stdio.h>
#include <stdlib.h>
//#include <math.h>

int main()
{
    //maxLepota je cifra dobijena kad se zamene m1,m2, tj najbolje resenje nadjeno
    int n,pomeriti = 0;
    int pomereno = 0;
    int *redovi;
    int *kolone;
    int x,y;
    int i;
    int prazan = -1;
    
    scanf("%d",&n);
    //printf("%d %d",n,k);
    
    redovi = (int*) calloc(n, sizeof(int));
    kolone = (int*) calloc(n, sizeof(int));
    
    
    for(i=0;i<n;i++){
        scanf("%d %d",&x,&y);
        redovi[x]++;
        kolone[y]++;
    }
    
    
    for(i=0;i<n;i++){
        
        if(redovi[i]!=1){
            //Premesti u neki drugi red, po mogucstvu praznu kolonu
            pomereno = 0;
            for(x=0;x<n;x++){
                if(redovi[x]==0){
                    prazan = x;
                    for(y=0;y<n;y++){
                        if(kolone[y] == 0){
                            kolone[y]++;
                            redovi[x]++;
                            redovi[i]--;
                            kolone[i]--;
                            pomeriti++;
                            pomereno = 1;
                            break;
                        }
                    }
                }
                if(pomereno == 1)break;
            }
            if(pomereno == 0)
            {
                redovi[prazan]++;
                redovi[i]--;
                pomereno = 1;
                pomeriti++;
            }
        }
        
        if(pomereno == 0 && kolone[i]!=1){
            //Premesti u neki drugi red, po mogucstvu praznu kolonu
            pomereno = 0;
            for(x=0;x<n;x++){
                if(kolone[x]==0){
                    prazan = x;
                    for(y=0;y<n;y++){
                        if(redovi[y] == 0){
                            redovi[y]++;
                            kolone[x]++;
                            kolone[i]--;
                            redovi[i]--;
                            pomeriti++;
                            pomereno = 1;
                            break;
                        }
                    }
                }
                if(pomereno == 1)break;
            }
            if(pomereno == 0)
            {
                kolone[prazan]++;
                kolone[i]--;
                pomereno = 1;
                pomeriti++;
            }
        }
        
    }
    
    printf("%d",pomeriti-1);
    
    
    return 0;
}