#include<stdio.h>
typedef struct jm
{
int bigen;
int end;
}node;
int main()
{
node temp,a[1000];
int i,n;
while(scanf("%d",&n)==1&&n)
{
for(i=1;i<=n;i++)
scanf("%d%d",&a[i].bigen,&a[i].end);
int j;
for(i=1;i<n;i++)
for(j=i+1;j<=n;j++)
if(a[i].end>a[j].end) //只有结束时间越小,后面的拓展空间也就越大
{
temp=a[i];a[i]=a[j];a[j]=temp;
}
//for(i=1;i<=n;i++)
//printf("%d %d\n",a[i].bigen,a[i].end);
int k,max=-1,t;
for(i=1;i<n;i++)
{
k=1;t=i;
for(j=i+1;j<=n;j++)
if(a[j].bigen>=a[t].end)
{k++;t=j;}
if(max<k)
max=k;
}
printf("%d\n",max);
}
return 0;
}