#include <bits/stdc++.h>
using namespace std;

struct act{
  int start;
  int end;
};
int Cmp(act a,act b){
  return a.end<b.end;
}
int max_act(vector<act>& acts){
  int n=1;
  int pre=acts[0].end;
  for(int i=1;i<acts.size();i++){
    if(acts[i].start>=pre)
    {
      n++;
      pre=acts[i].end;
    }
  }
  return n;
}
int main() 
{
  int n;
  cin>>n;
  vector<act> acts(n);
  for(int i=0;i<n;i++)
  {
    cin>>acts[i].start>>acts[i].end;
  }
  sort(acts.begin(),acts.end(),Cmp);
  cout<<max_act(acts);
  return 0;
}