#include<bits/stdc++.h>
using namespace std;
struct node
{ int nan,bei;
int mn,mx;
}city[200005];
int cmp(node a,node b)
{ if(a.mx<b.mx) return 1;
if(a.mx==b.mx)
{ if(a.mn>=b.mn) return 1;
else return 0;
}
else return 0;
}
int main()
{ int n;
cin>>n;
int x,y;
for(int i=1;i<=n;i++)
{ cin>>x>>y;
city[i].nan=x;
city[i].bei=y;
city[i].mn=min(x,y);
city[i].mx=max(x,y);
}
sort(city+1,city+n+1,cmp);
int ans=1,start=city[1].nan,end=city[1].bei;
for(int i=2;i<=n;i++)
{ if(city[i].nan>start&&city[i].bei>end)
{ ans++;
start=city[i].nan;
end=city[i].bei;
}
if(city[i].mn>start&&city[i].mn>end)
{ ans++;
start=city[i].nan;
end=city[i].bei;
}
}
cout<<ans;
return 0;
}