#include<bits/stdc++.h>
using namespace std;
struct Segment { int start, end; };
bool compare(const Segment &a, const Segment &b) { return a.end < b.end; }
int main() {
int n;
cin >> n;
vector<Segment> segments(n);
for (int i = 0; i < n; i++) {
cin >> segments[i].start >> segments[i].end;
}
sort(segments.begin(), segments.end(), compare);
int count = 0, currentEnd = -1;
for (int i = 0; i < n; i++) {
if (segments[i].start >= currentEnd) {
count++;
currentEnd = segments[i].end;
}
}
cout << count << endl;
return 0;
}