rt
#include<bits/stdc++.h>
using namespace std;
struct st{
int l,w;
};
int n,a[5005],f[5005];
st qq[5005];
bool cmp(st x,st y){
if(x.l!=y.l){
return x.l>y.l;
}
return x.w>y.w;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>qq[i].l>>qq[i].w;
}
sort(qq+1,qq+n+1,cmp);
for(int i=1;i<=n;i++){
a[i]=qq[i].w;
}
for(int i=1;i<=n;i++){
for(int j=i+1;j<=n;j++){
if(a[i]<=a[j]){
f[j]=max(f[j],f[i]+1);
}
}
}
sort(f+1,f+n+1);
cout<<f[n]+1;
return 0;
}