#include <bits/stdc++.h> using namespace std; typedef pair<int, int> PII; const int N = 10010; bool st[N]; int main(){ int l, m; while (cin >> l >> m){ for (int i=0; i<m; i++){ st[i] = false; } set<PII> query_remove; vector<PII> ve_query_remove; l = l + 1; for (int i=0; i<m; i++){ int left; int right; cin >> left >> right; query_remove.insert({left, right}); } for (auto item:query_remove){ ve_query_remove.push_back({item.first, item.second}); } m = ve_query_remove.size(); // for (int i=0; i<m; i++){ // cout << ve_query_remove[i].first << " " << ve_query_remove[i].second << endl; // } for (int i=0; i<m-1; i++){ if (ve_query_remove[i].second >= ve_query_remove[i+1].first){ ve_query_remove[i+1] = {ve_query_remove[i].first, max(ve_query_remove[i+1].second, ve_query_remove[i].second)}; st[i] = true; //当前区间失效 } } for (int i=0; i<m; i++){ if (!st[i]){ int tmp_l = ve_query_remove[i].second - ve_query_remove[i].first + 1; l = l - tmp_l; } } printf("%d\n", l); } return 0; }