#include<iostream>
using namespace std;
int main(){
int n,ans=0;
cin>>n;
int start[n+10]={0};
int over[n+10]={0};
bool isfree[n+10]={true};
for(int i=1;i<=n;i++) cin>>start[i]>>over[i];
for(int i=1;i<=n;i++){
if(start[i+1]<start[i]&&i!=n){
int s=start[i+1];
int o=over[i+1];
start[i+1]=start[i];
over[i+1]=over[i];
start[i]=s;
over[i]=o;
}
}
for(int i=1;i<=n;i++){
bool join=true;
for(int a=start[i];a<=over[i];a++){
if(isfree[a]==false) join=false;
}
if(join){
ans++;
for(int b=start[i];b<=over[i];b++) isfree[b]=false;
}
}
cout<<ans;
}