#include<stdio.h>
#include<stdlib.h>
struct in
{
int x;
int y;
}c[105];
int cmp(const void *a,const void *b)
{
/*struct in *c=(struct in *)a;
struct in *d=(struct in *)b;
return c->x-d->x;*/
return *(int *)a-*(int *)b;
}
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
int t,i,k=1;
for(i=0;i<n;i++)
scanf("%d%d",&c[i].x,&c[i].y);
qsort(c,n,sizeof(c[0]),cmp);
t=c[0].y;
for(i=1;i<n;i++)
{
if(t>c[i].x&&t>c[i].y)
t=c[i].y;
else if(t<c[i].x)
{
k++;
t=c[i].y;
}
}
printf("%d\n",k);
}
return 0;
}
#include<stdlib.h>
struct in
{
int x;
int y;
}c[105];
int cmp(const void *a,const void *b)
{
/*struct in *c=(struct in *)a;
struct in *d=(struct in *)b;
return c->x-d->x;*/
return *(int *)a-*(int *)b;
}
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
int t,i,k=1;
for(i=0;i<n;i++)
scanf("%d%d",&c[i].x,&c[i].y);
qsort(c,n,sizeof(c[0]),cmp);
t=c[0].y;
for(i=1;i<n;i++)
{
if(t>c[i].x&&t>c[i].y)
t=c[i].y;
else if(t<c[i].x)
{
k++;
t=c[i].y;
}
}
printf("%d\n",k);
}
return 0;
}