//KZNS
#include <fstream>
using namespace std;
//
ifstream fin ("ha14d.in");
ofstream fout ("ha14d.out");
//
int mp[10000002] = {0};
int ls[1002][2];
int N, M;
bool f;
int ed = 0;
//
int main() {
fin >> N >> M;
for (int i = 0; i < M; i++)
fin >> ls[i][0] >> ls[i][1];
for (int i = M-1; i >= 0; i--) {
f = false;
for (int j = ls[i][0]; j <= ls[i][1]; j++) {
if (mp[j])
j = mp[j];
else {
mp[j] = ls[i][1];
f = true;
}
}
if (f)
ed++;
}
fout <<ed;
return 0;
}
//UBWH