#include<bits/stdc++.h>//#include<bits/extc++.h>// #define oo INT_MAX#define maxn 100009 #define _rep(i, a, b) for(int i = (a); i <= (b); ++i)#define _rev(i, a, b) for(int i = (a); i >= (b); --i)#define _for(i, a, b) for(int i = (a); i < (b) ;++i)#define _rof(i, a, b) for(int i = (a); i > (b); --i)#define ll long long#define db double#define eps 0.00001#define met(a, b) memset(a, b, sizeof(a))#define lowbit(x) x & (-x)usingnamespace std;//using namespace __gnu_pbds;int sum[maxn], n;inlinevoidadd(int x){for(;x <= n; x +=lowbit(x)) sum[x]++;}inlineintask(int x){int ret =0;for(;x; x -=lowbit(x)) ret += sum[x];return ret;}intmain(){
ios::sync_with_stdio(0);
cin >> n;
vector<int>v(n+1);//离散化相关
vector<pair<int,int>>q(n +1);_rep(i,1, n)cin >> q[i].first , cin >> q[i].second, v[i]= q[i].second;sort(v.begin(), v.end());int t =unique(v.begin()+1, v.end())- v.begin()-1;_rep(i,1, n)q[i].second =lower_bound(v.begin()+1, v.begin()+1+ t, q[i].second)- v.begin();//离散化结束sort(q.begin(), q.end());int ans =0;_rev(i, n,1){int d =ask(q[i].second);//d:已经迭代过的物品中,有d件物品y值比我小if(n - d - i !=0)ans ++;// 总物品数减去没迭代的物品数,减去迭代完且比我y值小的物品数不等于零(存在迭代完且y值比我大的物品数)add(q[i].second);}
cout << ans << endl;system("pause");}