#include <iostream>
#include <vector>
using namespace std;

int main() {
    int L, M;
    cin >> L >> M;
    
    vector<bool> removed(L + 1, false); // 初始化所有树为未移除状态
    
    // 处理每个施工区域
    for (int i = 0; i < M; ++i) {
        int l, r;
        cin >> l >> r;
        // 标记区域内的树为已移除
        for (int j = l; j <= r; ++j) {
            removed[j] = true;
        }
    }
    
    // 统计剩余树的数量
    int count = 0;
    for (bool status : removed) {
        if (!status) {
            count++;
        }
    }
    
    cout << count << endl;
    return 0;
}

用布尔数组,太妙了