#include<cstdio>
#include<cstdlib>
#include<algorithm>
using namespace std;
struct tt
{
int x,y;
}j[5];
bool cmp(tt a,tt b)
{
return a.x<b.x;
}
int min(int a,int b)
{
if(a>b)
return b;
else
return a;
}
int main()
{
int n;
int i;
while(scanf("%d",&n)!=EOF)
{
int m=1;
for(i=0;i<n;i++)
scanf("%d%d",&j[i].x,&j[i].y);
sort(j,j+n,cmp);
//for(int i=0;i<n;i++)
//printf("%d %d\n",j[i].x,j[i].y);
for(i=1;i<n;i++)
{
if(j[i-1].y<j[i].x)
{
m++;
}
else
{
j[i].y=min(j[i].y,j[i-1].y);
}
}
printf("%d\n",m);
}
}
#include<cstdlib>
#include<algorithm>
using namespace std;
struct tt
{
int x,y;
}j[5];
bool cmp(tt a,tt b)
{
return a.x<b.x;
}
int min(int a,int b)
{
if(a>b)
return b;
else
return a;
}
int main()
{
int n;
int i;
while(scanf("%d",&n)!=EOF)
{
int m=1;
for(i=0;i<n;i++)
scanf("%d%d",&j[i].x,&j[i].y);
sort(j,j+n,cmp);
//for(int i=0;i<n;i++)
//printf("%d %d\n",j[i].x,j[i].y);
for(i=1;i<n;i++)
{
if(j[i-1].y<j[i].x)
{
m++;
}
else
{
j[i].y=min(j[i].y,j[i-1].y);
}
}
printf("%d\n",m);
}
}