#include<iostream>
#include<algorithm>
#define MaxN 100005
std::pair<int, int> seg[MaxN];
int main() {
freopen("ROBOT.INP", "r", stdin);
freopen("ROBOT.OUT", "w", stdout);
int M, N; std::cin >> M >> N;
for(int i = 1; i <= N; ++i) {
std::cin >> seg[i].first >> seg[i].second;
}
seg[0] = {0, 0}; seg[N + 1] = {M + 1, M + 1};
std::sort(seg, seg + N + 2);
int res = 0, last = 0;
for(int i = 0; i <= N + 1; ++i) {
if(seg[i].first <= last) last = std::max(last, seg[i].second);
else {
res += seg[i].first - last - 1;
last = seg[i].second;
}
}
std::cout << res;
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPGFsZ29yaXRobT4KCiNkZWZpbmUgTWF4TiAxMDAwMDUKc3RkOjpwYWlyPGludCwgaW50PiBzZWdbTWF4Tl07CgppbnQgbWFpbigpIHsKICAgIGZyZW9wZW4oIlJPQk9ULklOUCIsICJyIiwgc3RkaW4pOwogICAgZnJlb3BlbigiUk9CT1QuT1VUIiwgInciLCBzdGRvdXQpOwoKICAgIGludCBNLCBOOyBzdGQ6OmNpbiA+PiBNID4+IE47CiAgICBmb3IoaW50IGkgPSAxOyBpIDw9IE47ICsraSkgewogICAgICAgIHN0ZDo6Y2luID4+IHNlZ1tpXS5maXJzdCA+PiBzZWdbaV0uc2Vjb25kOwogICAgfQoKICAgIHNlZ1swXSA9IHswLCAwfTsgc2VnW04gKyAxXSA9IHtNICsgMSwgTSArIDF9OwogICAgc3RkOjpzb3J0KHNlZywgc2VnICsgTiArIDIpOwoKICAgIGludCByZXMgPSAwLCBsYXN0ID0gMDsKICAgIGZvcihpbnQgaSA9IDA7IGkgPD0gTiArIDE7ICsraSkgewogICAgICAgIGlmKHNlZ1tpXS5maXJzdCA8PSBsYXN0KSBsYXN0ID0gc3RkOjptYXgobGFzdCwgc2VnW2ldLnNlY29uZCk7CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIHJlcyArPSBzZWdbaV0uZmlyc3QgLSBsYXN0IC0gMTsKICAgICAgICAgICAgbGFzdCA9IHNlZ1tpXS5zZWNvbmQ7CiAgICAgICAgfQogICAgfQoKICAgIHN0ZDo6Y291dCA8PCByZXM7CiAgICAKICAgIHJldHVybiAwOwp9Cg==