//时间复杂度O(n)
include[HTML_REMOVED]
include[HTML_REMOVED]
using namespace std;
const int N = 100010;
int n;
struct Range{
int l;
int r;
//重载<
bool operator < (const Range &w) const{
return r < w.r;
}
}range[N];
int main(){
cin >> n;
for(int i = 0; i < n; i) cin >> range[i].l >> range[i].r;
//将左端点排序
sort(range, range + n);
//从第1个区间开始计数,用ed来维护区间
int res = 1;
int ed = range[0].r;
for(int i = 1; i < n; i){
if(ed < range[i].l){
res++;
ed = range[i].r;
}