#include <bits/stdc++.h>
using namespace std;
const int maxe = 300000;
struct event {
  int x, t, r;
};
int n, m;
event e[maxe];
multiset<int> s;
bool cmp(event a, event b) { return a.x < b.x; }
void add(int x, int t, int r) {
  e[m].x = x;
  e[m].r = r;
  e[m].t = t;
  m++;
}
int main() {
  scanf("%d", &n);
  m = 0;
  for (int i = 0; i < n; i++) {
    int a, b;
    scanf("%d %d", &a, &b);
    add(a, 0, b);
    add(b, 1, b);
  }
  s.clear();
  sort(e, e + m, cmp);
  int res = 0;
  for (int i = 0; i < m; i++) {
    if (!e[i].t) {
      if (s.size() > 0) {
        multiset<int>::iterator it = s.end();
        it--;
        if (e[i].r < *it) res++;
      }
      s.insert(e[i].r);
    } else
      s.erase(e[i].r);
    cerr << endl;
  }
  printf("%d", res);
  return 0;
}
