#include<bits/stdc++.h>
using namespace std;
int ans, tot, n;
struct node{
int c, r;
} a[100010], b[100010];
inline bool cmp(node p, node q){
if(p.c == q.c) return p.r < q.r;
return p.c < q.c;
}
int main(){
scanf("%d", &n);
for(int i = 1; i <= n; i++)
scanf("%d%d", &b[i].c, &b[i].r);
sort(b+1, b+n+1, cmp);
int cnt = 0;
for(int i = 1; i <= n; i++)
if(b[i-1].c != b[i].c || b[i-1].r != b[i].r)
a[++cnt] = b[i];
for(int i = 1; i <= cnt; i++){
tot = 0;
for(int j = i; j >= 1; j--){
if(a[i].c == a[j].c && a[i].r-a[j].r+1 <= n) tot++;
else break;
}
ans = max(ans, tot);
}
printf("%d\n", n-ans);
return 0;
}