#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;
}