#include using namespace std; typedef pair PII; const int N = 110; int M, L; PII seg[N]; int main() { cin >> L >> M; for (int i = 0; i < M; i++) cin >> seg[i].first >> seg[i].second; sort(seg, seg + M); // 按左端点由小到大排序 int res = L + 1; int st = seg[0].first, ed = seg[0].second; // 第一个区间 for (int i = 1; i < M; i++) // 后面的M-1个区间 if (seg[i].first <= ed) // 两个区间有交集 ed = max(seg[i].second, ed); // 合并区间 else { res -= ed - st + 1; // 独立的两个区间,开始计算去掉的区间长度 st = seg[i].first, ed = seg[i].second; // 更新前一个区间的开始与结束,方便下次计算 } // 对于最后一个区间而言,它还没有被计算,需要单独计算 res -= ed - st + 1; // 输出结果 cout << res << endl; return 0; }