#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
const int N=1e5+100;
vector<vector<int>> pu(N);
int num[N];
int main(){
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
int n;cin>>n;
int cnt=n;
while(n--){
int a,b;
cin>>a>>b;
pu[a].push_back(b);
}
int i=0;
for(auto &row : pu){
sort(row.begin(),row.end());
num[i]=unique(row.begin(),row.end())-row.begin();
++i;
}
int maxn=-1;
i=0;
for(auto &row : pu){
vector<int>::iterator it=row.begin();
for(int j=0;j<num[i];++j){
maxn=max(maxn,static_cast<int>(it-lower_bound(row.begin(),it,row[j]-cnt)+1));
it++;
}
i++;
}
cout<<cnt-maxn;
return 0;
}