#include<bits/stdc++.h>
using namespace std;
const int maxn=5001;
struct node{
int w,l;
}a[maxn];
int n,f[maxn],len=1;
bool bmp(node x,node y){
return x.w>=y.w;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i].w>>a[i].l;
sort(a+1,a+n+1,bmp);
f[1]=a[1].l;
for(int i=2;i<=n;i++){
if(a[i].l>f[len])f[++len]=a[i].l;
else{
int x=upper_bound(f+1,f+len+1,a[i].l)-f;
f[x]=a[i].l;
}
}
cout<<len;
return 0;
}
90分 蜜汁WA