#include <cstdio>
#include <algorithm>
using namespace std;
struct C {
int a, b;
} v[1000];
bool cmp(C p, C q) { return p.b < q.b; }
int n, m, last, res, t;
int main() {
scanf("%d%d", &n, &m);
for (int i = 0; i < m; i++) {
scanf("%d%d", &v[i].a, &v[i].b);
if (v[i].a > v[i].b) swap(v[i].a, v[i].b);
}
sort(v, v + m, cmp);
res = 1;
for (int i = 0; i < m; i++) if (last <= v[i].a) last = v[i].b, res++;
printf("%d", res);
}
I2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPGFsZ29yaXRobT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKc3RydWN0IEMgewoJaW50IGEsIGI7Cn0gdlsxMDAwXTsKYm9vbCBjbXAoQyBwLCBDIHEpIHsgcmV0dXJuIHAuYiA8IHEuYjsgfQppbnQgbiwgbSwgbGFzdCwgcmVzLCB0OwppbnQgbWFpbigpIHsKCXNjYW5mKCIlZCVkIiwgJm4sICZtKTsKCWZvciAoaW50IGkgPSAwOyBpIDwgbTsgaSsrKSB7CgkJc2NhbmYoIiVkJWQiLCAmdltpXS5hLCAmdltpXS5iKTsKCQlpZiAodltpXS5hID4gdltpXS5iKSBzd2FwKHZbaV0uYSwgdltpXS5iKTsKCX0KCXNvcnQodiwgdiArIG0sIGNtcCk7CglyZXMgPSAxOwoJZm9yIChpbnQgaSA9IDA7IGkgPCBtOyBpKyspIGlmIChsYXN0IDw9IHZbaV0uYSkgbGFzdCA9IHZbaV0uYiwgcmVzKys7CglwcmludGYoIiVkIiwgcmVzKTsKfQ==