#include<iostream>
#include<algorithm>
using namespace std;
struct c
{
int u,d;
};
c a[5009];
int n,f[5009];
bool cmp(c a,c b)
{
return a.u<b.u;
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i].d>>a[i].u;
sort(a+1,a+n+1,cmp);
f[1]=1;
for(int i=2;i<=n;i++)
{
f[i]=1;
for(int x=1;x<i;x++)
if(a[i].d>a[x].d&&f[i]<f[x]+1)f[i]=f[x]+1;
}
int a=f[1];
for(int i=2;i<=n;i++)
if(f[i]>a)a=f[i];
cout<<a;
}
```c