#include <iostream>
#include <vector>
#include <cmath>
#include <map>
#include <set>
#include <iomanip>
#include <queue>
#include <algorithm>
#include <numeric>
#include <deque>
#include <complex>
#include <cassert>

using namespace std;
using ll = long long;

int main(){

    int N, M, l, r, now=-1;
    cin >> N >> M;
    vector<pair<int, int>> RL(M);
    for (int i=0; i<M; i++){
        cin >> l >> r;
        RL[i] = {r, l};
    }
    sort(RL.begin(), RL.end());
    for (int i=0; i<M; i++){
        tie(r, l) = RL[i];
        if (now < l){
            now = r;
            N--;
        }
    }

    cout << N << endl;

    return 0;
}