#include <bits/stdc++.h>
using namespace std;
struct note{
long long da=0,dui=0;
};
bool cmp(note a,note b){
return a.da<b.da;
}
int main(){
int ma=0,n;
cin>>n;
note a[n+5];
int b[n+5],c[n+5];
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
for(int i=1;i<=n;i++){
cin>>a[i].da>>b[i];
a[i].dui=i;
}
sort(a+1,a+n+1,cmp);
for(int i=n;i>=1;i--){
int mj=0;
for(int j=i+1;j<=n;j++){
if(b[a[i].dui]<b[a[j].dui]){
if(c[a[j].dui]>mj){
mj=c[a[j].dui]+1;
}
}
}
if(mj==0){
c[a[i].dui]=1;
}else{
c[a[i].dui]=mj;
}
if(c[a[i].dui]>ma){
ma=c[a[i].dui];
}
}
cout<<ma;
return 0;
}