#include<iostream>
#include<algorithm>
using namespace std;
long long ans=0,n;
struct match{
int be;
int en;
};
match ma[1000010];
bool comp(match x1,match x2)
{
return x1.be<x2.be;
}
void dfs(long long ti,long long s,long long num)
{
if(num==n+1)
{
ans=max(ans,s);
return;
}
long long tmps=s,tmpnum=num;
if(ti<=ma[num].be)
{
dfs(ma[num].en,tmps+1,tmpnum+1);
}
dfs(ti,tmps,tmpnum+1);
return;
}
int main()
{
cin >> n;
for(int i=1;i<=n;i++)
{
cin >> ma[i].be >> ma[i].en;
}
sort(ma+1,ma+1+n,comp);
dfs(0,0,1);
cout << ans ;
}