#include <bits/stdc++.h>
#define nmax int(1e5+7)
using namespace std;
int n, m, cnt, par[nmax*2];
pair<int,int> a[nmax];
vector <int> tmp;
int find_set(int u){
if (u == par[u]) return u;
return par[u] = find_set(par[u]);
}
bool union_set(int L, int R){
int dest = find_set(R+1);
bool ok = true;
while (L <= R){
int x = find_set(L);
if (x != L) ok = false;
par[x] = dest;
L = x + 1;
}
return ok;
}
int main(){
cin >> m >> n;
for (int i=1; i<=n; i++){
cin >> a[i].first >> a[i].second;
tmp.push_back(a[i].first); tmp.push_back(a[i].second);
}
sort(tmp.begin(), tmp.end());
for (int i=1; i<=n; i++){
a[i].first = lower_bound(tmp.begin(), tmp.end(), a[i].first) - tmp.begin();
a[i].second = lower_bound(tmp.begin(), tmp.end(), a[i].second) - tmp.begin();
}
for (int i=1; i<=2*n+1; i++)par[i] = i;
for (int i=n; i>=1; i--)cnt += union_set(a[i].first, a[i].second);
cout << cnt;
}
/*
Solve by: Truong Tuan Kiet - Informatics K36. Solve in 11h00 - 7/4/2025
*/
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbm1heCBpbnQoMWU1KzcpCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBuLCBtLCBjbnQsIHBhcltubWF4KjJdOwpwYWlyPGludCxpbnQ+IGFbbm1heF07CnZlY3RvciA8aW50PiB0bXA7CmludCBmaW5kX3NldChpbnQgdSl7CiAgICBpZiAodSA9PSBwYXJbdV0pIHJldHVybiB1OwogICAgcmV0dXJuIHBhclt1XSA9IGZpbmRfc2V0KHBhclt1XSk7Cn0KYm9vbCB1bmlvbl9zZXQoaW50IEwsIGludCBSKXsKICAgIGludCBkZXN0ID0gZmluZF9zZXQoUisxKTsKICAgIGJvb2wgb2sgPSB0cnVlOwogICAgd2hpbGUgKEwgPD0gUil7CiAgICAgICAgaW50IHggPSBmaW5kX3NldChMKTsKICAgICAgICBpZiAoeCAhPSBMKSBvayA9IGZhbHNlOwogICAgICAgIHBhclt4XSA9IGRlc3Q7CiAgICAgICAgTCA9IHggKyAxOwogICAgfQogICAgcmV0dXJuIG9rOwp9CmludCBtYWluKCl7CiAgICBjaW4gPj4gbSA+PiBuOwogICAgZm9yIChpbnQgaT0xOyBpPD1uOyBpKyspewogICAgICAgIGNpbiA+PiBhW2ldLmZpcnN0ID4+IGFbaV0uc2Vjb25kOwogICAgICAgIHRtcC5wdXNoX2JhY2soYVtpXS5maXJzdCk7IHRtcC5wdXNoX2JhY2soYVtpXS5zZWNvbmQpOwogICAgfQogICAgc29ydCh0bXAuYmVnaW4oKSwgdG1wLmVuZCgpKTsKICAgIGZvciAoaW50IGk9MTsgaTw9bjsgaSsrKXsKICAgICAgICBhW2ldLmZpcnN0ID0gbG93ZXJfYm91bmQodG1wLmJlZ2luKCksIHRtcC5lbmQoKSwgYVtpXS5maXJzdCkgLSB0bXAuYmVnaW4oKTsKICAgICAgICBhW2ldLnNlY29uZCA9IGxvd2VyX2JvdW5kKHRtcC5iZWdpbigpLCB0bXAuZW5kKCksIGFbaV0uc2Vjb25kKSAtIHRtcC5iZWdpbigpOwogICAgfQogICAgZm9yIChpbnQgaT0xOyBpPD0yKm4rMTsgaSsrKXBhcltpXSA9IGk7CiAgICBmb3IgKGludCBpPW47IGk+PTE7IGktLSljbnQgKz0gdW5pb25fc2V0KGFbaV0uZmlyc3QsIGFbaV0uc2Vjb25kKTsKICAgIGNvdXQgPDwgY250Owp9Ci8qCiAgICBTb2x2ZSBieTogVHJ1b25nIFR1YW4gS2lldCAtIEluZm9ybWF0aWNzIEszNi4gU29sdmUgaW4gMTFoMDAgLSA3LzQvMjAyNQoqLw==