#include<bits/stdc++.h>
using namespace std;
vector<pair<int,int> >p;
int flag[100010];
int main(){
int n;
cin>>n;
memset(flag,0,sizeof(flag));
int maxx=0;
while(n--){
int a,b;
cin>>a>>b;
p.push_back({a,b});
if(b>maxx)maxx=b;
for(int i=a;i<=b;i++){
flag[i]++;
}
}
int ans=0;
while(p.size()){
vector<pair<int,int> >::iterator it;
int cnt=0;
int maxi=0;
for(int i=1;i<=maxx;i++){
if(flag[i]>cnt){
cnt=flag[i];
maxi=i;
}
}
ans++;
for(it=p.begin();it!=p.end();it++){
if(it->first<=maxi&&it->second>=maxi){
for(int j=it->first;j<=it->second;j++){
flag[j]--;
}
if(it!=p.end()-1)
{
p.erase(it);
it--;
}
else{
p.erase(it);
break;
}
}
}
}
cout<<ans;
}