#include <bits/stdc++.h>
using namespace std;
int main(){
    cin.tie(0);
ios::sync_with_stdio(false);
int n;
cin>>n;
int brojac=0;
int brojac1=0;
int brojac2=0;
int matrica[n][2];
for(int i=0; i<n; i++){
    for(int j =0; j<2; j++){
        cin>>matrica[i][j];
    }
}
int arr[n];
int arr1[n];
if(n==1){
    cout<<"0";
}
else if(n==2){
    if(matrica[0][0]!=matrica[1][0] && matrica[0][1]!=matrica[1][1]){
        cout<<"0";
    }else{
    cout<<"1";
    }
}
else if(matrica[0][0]==matrica[0][1] && matrica[1][0]==matrica[1][1] && matrica[2][0]==matrica[2][1]){
    for(int i=0; i<n; i++){
        if(matrica[i][0]==matrica[i][1]){
            brojac++;
        }
        if(brojac==n){
            cout<<"0";
        }
    }
}else{
    for(int i=0; i<n; i++){
        arr[i]=matrica[i][0];
    }
    for(int i=0; i<n; i++){
        arr1[i]=matrica[i][1];
    }
sort(arr, arr+n);
sort(arr1, arr1+n);
    for(int i=0; i<n-1; i++){
        if(arr[i]==arr[i+1]){
            brojac1++;
        }
    }
    for(int i=0; i<n-1; i++){
        if(arr1[i]==arr1[i+1]){
            brojac2++;
        }
    }

        if(brojac1==0 && brojac2==0){
        cout<<"0";
    }else if(brojac1>=1 && brojac2==0){
        cout<<brojac1;
    }else if(brojac1==0 && brojac2>=1){
        cout<<brojac2;
    }else if(brojac1>brojac2){
        cout<<brojac2-1+n-1;
    }else{
    cout<<brojac1-1+n-1;
    }
}
return 0;
}