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