#include<bits/stdc++.h>
using namespace std;
#define N 1010
struct node{
int iq,eq;
bool operator < (const node x) const{return iq>x.iq;}
}e[N];
int n,f[N];
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%d%d",&e[i].iq,&e[i].eq),f[i]=1;
sort(e+1,e+n+1);
for(int i=n;i;i--){
for(int j=i+1;j<=n;j++){
if(e[i].eq>=e[j].eq){
f[i]=max(f[i],f[j]+1);
}
}
}
int ans=-0x7fffffff;
for(int i=n;i;i--) ans=max(ans,f[i]);
printf("%d\n",ans);
return 0;
}