#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int n, t;
void solve() {
cin >> n >> t;
map<int, int> D;
D[1] = D[n + 1] = 0;
while (t--) {
int l, r; cin >> l >> r;
D[l]++; D[r + 1]--;
}
ll ans = 0;
int cur = 0;
for (auto it = D.begin(); it != D.end(); it++) {
int pos = it->first;
cur += it->second;
if (pos > n) break;
auto nxt_it = next(it);
if (nxt_it != D.end()) {
int nxt = nxt_it->first;
int cnt = min(nxt - 1, n) - pos + 1;
if (cnt > 0 && cur % 3 == 0) ans += cnt;
}
}
cout << ans << '\n';
}
int main() {
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define TASK "LOCK"
if (fopen(TASK".INP", "r")) {
freopen(TASK".INP", "r", stdin);
freopen(TASK".OUT", "w", stdout);
}
int tests = 1; // cin >> tests;
while (tests--) solve();
#ifdef LOCAL
cerr << "\nTime elapsed: " << clock() << " ms.\n";
#endif
return 0;
};
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp1c2luZyBsbCA9IGxvbmcgbG9uZzsKCmludCBuLCB0OwoKdm9pZCBzb2x2ZSgpIHsKICAgIGNpbiA+PiBuID4+IHQ7CiAgICBtYXA8aW50LCBpbnQ+IEQ7CiAgICBEWzFdID0gRFtuICsgMV0gPSAwOwogICAgd2hpbGUgKHQtLSkgewogICAgICAgIGludCBsLCByOyBjaW4gPj4gbCA+PiByOwogICAgICAgIERbbF0rKzsgRFtyICsgMV0tLTsgICAgICAgIAogICAgfQogICAgbGwgYW5zID0gMDsKICAgIGludCBjdXIgPSAwOwogICAgZm9yIChhdXRvIGl0ID0gRC5iZWdpbigpOyBpdCAhPSBELmVuZCgpOyBpdCsrKSB7CiAgICAgICAgaW50IHBvcyA9IGl0LT5maXJzdDsKICAgICAgICBjdXIgKz0gaXQtPnNlY29uZDsKICAgICAgICBpZiAocG9zID4gbikgYnJlYWs7CiAgICAgICAgYXV0byBueHRfaXQgPSBuZXh0KGl0KTsKICAgICAgICBpZiAobnh0X2l0ICE9IEQuZW5kKCkpIHsKICAgICAgICAgICAgaW50IG54dCA9IG54dF9pdC0+Zmlyc3Q7CiAgICAgICAgICAgIGludCBjbnQgPSBtaW4obnh0IC0gMSwgbikgLSBwb3MgKyAxOwogICAgICAgICAgICBpZiAoY250ID4gMCAmJiBjdXIgJSAzID09IDApIGFucyArPSBjbnQ7CiAgICAgICAgfQogICAgfQogICAgY291dCA8PCBhbnMgPDwgJ1xuJzsKfQoKaW50IG1haW4oKSB7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOyBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKCiAgICAjZGVmaW5lIFRBU0sgIkxPQ0siCiAgICBpZiAoZm9wZW4oVEFTSyIuSU5QIiwgInIiKSkgewogICAgICAgIGZyZW9wZW4oVEFTSyIuSU5QIiwgInIiLCBzdGRpbik7CiAgICAgICAgZnJlb3BlbihUQVNLIi5PVVQiLCAidyIsIHN0ZG91dCk7CiAgICB9CiAgICAKICAgIGludCB0ZXN0cyA9IDE7IC8vIGNpbiA+PiB0ZXN0czsKICAgIHdoaWxlICh0ZXN0cy0tKSBzb2x2ZSgpOwoKICAgICNpZmRlZiBMT0NBTAogICAgY2VyciA8PCAiXG5UaW1lIGVsYXBzZWQ6ICIgPDwgY2xvY2soKSA8PCAiIG1zLlxuIjsKICAgICNlbmRpZgogICAgcmV0dXJuIDA7Cn07Cg==