#include <bits/stdc++.h>
using namespace std;
int n, dp[500005];
pair<int, int> p[500005];
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; ++i) scanf("%d%d", &p[i].first, &p[i].second);
  sort(p, p + n);
  for (int i = 0; i < n; ++i) {
    if (i) dp[i] = max(dp[i], dp[i - 1]);
    int ub = upper_bound(p + i + 1, p + n, make_pair(p[i].second + 1, 0)) - p;
    dp[ub] = max(dp[ub], dp[i] + 1);
  }
  printf("%d\n", max(dp[n], dp[n - 1]));
}
