#include<bits/stdc++.h>
using namespace std;
struct Activity {
int begin;
int end;
};
bool compare(Activity a, Activity b) {
return a.end < b.end;
}
int main() {
int n;
cin >> n;
vector<Activity> activities(n);
for(int i=0;i<n;i++){
cin>>activities[i].begin>>activities[i].end;
}
sort(activities.begin(),activities.end(),compare);
int count=1;
int lastEnd=activities[0].end;
for(int i=1;i<n;i++){
if(activities[i].begin>=lastEnd) {
count++;
lastEnd=activities[i].end;
}
}
cout<<count<<endl;
return 0;
}
/**************************************************************
Problem: 1372
User: linxichen
Language: C++
Result: Accepted
Time:8 ms
Memory:2076 kb
****************************************************************/