#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
typedef pair<int,int>PIL;//PIL相当于一种数据类型,这种类型有2个参数
const int N=10010;
int n;
vector<PIL>segs;
void merge(vector<PIL>&segs)
{
vector<PIL>res;//存出合并后的结果
sort(segs.being(),segs.end());
int st=-2e9,ed=2e9;
for(auto segs:segs)
{
if(ed<segs.first) //无任何交集
{
if(st!=-2e9) res.push_back(st,ed);//判断是否为第一个区间
st=segs.first,ed=segs.second;
}
else ed=max(ed,segs.second)
if(st!=-2e9) res.push_back(st,ed);//防止输入的是空区间
segs=res;
}
}
int main()
{
cin>>n;
for(int i=0;i<n;i++)
{
int l,r;
cin>>l>>r;
segs.psuh_back({l,r});
}
merge(segs);
cout<<segs.size()<<endl;
return 0;
}