#P1532. 小 X 与煎饼达人

小 X 与煎饼达人

题目描述

玩着玩着小 X 觉得有点饿了,他想出门买些吃的。刚刚走出大门,小 X 就看到有位大叔在做煎饼,而且做法十分有趣。只见此人将 nn 块煎饼排成一排,手持一把大铲,将煎饼铲得上下翻飞,煞是好看。小 X 顿时食欲大动,赶紧走上前去细细打量,发现此人做煎饼还十分的讲究,在做的过程中,大叔每次会将从第 xx 块煎饼开始到第 yy 块煎饼结束的这 yx+1y-x+1 块煎饼全部翻个个儿(正面翻到反面,反面翻到正面)。而他每次会选择不同的区间(区间是指连续的一段煎饼,如 3,4,5,63, 4, 5, 6 四块煎饼用区间 [3,6][3, 6] 表示)来翻这些煎饼。每块煎饼都有正反两面,开始时这些煎饼都是反面朝上。

此人一共翻了 mm 次煎饼,看得小 X 眼花缭乱。但是小 X 很想知道这 nn 块煎饼到最后一共有多少块是正面朝上的,于是他只好求助于你了。

输入格式

第一行包含两个用空格隔开的正整数 nnmm
接下来 mm 行,每行包含两个用空格隔开的正整数 xxyy,表示一次翻转操作,将区间 [x,y][x, y] 内的所有煎饼翻面。

初始时所有煎饼均为反面朝上(可用 00 表示反面,11 表示正面)。

输出格式

输出仅一行,包含一个整数 ansans,表示最后正面朝上的煎饼数量。

样例

10 5
1 8
5 6
1 9
3 8
2 7
5

样例解释
初始 1010 块煎饼全为反面(00)。
操作过程:

  1. 翻转 [1,8][1,8]1 1 1 1 1 1 1 1 0 0
  2. 翻转 [5,6][5,6]1 1 1 1 0 0 1 1 0 0
  3. 翻转 [1,9][1,9]0 0 0 0 1 1 0 0 1 0
  4. 翻转 [3,8][3,8]0 0 1 1 0 0 1 1 1 0
  5. 翻转 [2,7][2,7]0 1 0 0 1 1 0 1 1 0
    最终正面朝上的煎饼数量为 55

数据范围

  • 对于 30%30\% 的数据:1n,m1001 \le n, m \le 1001xyn1 \le x \le y \le n
  • 对于另外 30%30\% 的数据:1n1061 \le n \le 10^61m1051 \le m \le 10^5x=1x = 11yn1 \le y \le n
  • 对于 100%100\% 的数据:1n1061 \le n \le 10^61m1051 \le m \le 10^51xyn1 \le x \le y \le n