#include <iostream>
#include <algorithm>
using namespace std;

int main(void){
    int n;
    cin >> n;
    pair<int, int> times[100100]; //クラス定義

    for(int i = 0; i < n; i++){
        cin >> times[i].second >> times[i].first; //sortは第１要素を昇順に並べる為、終了時刻を昇順に並べたいならば、firstに終了時刻が入るように標準入力すれば良い
    }

    sort(times, times + n); //第１要素を昇順に並べる

    // for(int i = 0; i < n; i++){
    //     cout << "@" << times[i].first << "@@" << times[i].second << endl;
    // }

    int cnt = 0, t = -1; //１番目の活動は必ず選ばれるようにする為。tは前の活動の開始時刻で１番目の活動の前はない為−１に初期化する
    for(int i = 0; i < n; i++){
        if(t < times[i].second){ //次の活動の開始時刻が前の活動の終了時刻とかぶっていなければ
            cnt++;
            t = times[i].first;
        }
    }
    cout << cnt << endl;
}

