#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;
struct car{
int x, v;
};
int main() {
int n;
cin >> n;
vector<car> s(n);
for (int i = 0; i < n; i++) {
cin >> s[i].x >> s[i].v;
}
sort(s.begin(), s.end(), [](const car a, const car b){
return a.x < b.x;
}); // 对车的位置进行排序
// 求出车序列的最长非递减子序列
vector<int> len;
len.push_back(s[0].v);
for (int i = 1; i < n; i++) {
if (s[i].v >= len.back()) {
len.push_back(s[i].v);
}
else {
*upper_bound(len.begin(), len.end(), s[i].v) = s[i].v;
}
}
cout << n - len.size();
}
