#PX0007. 校门外的树(hard)

校门外的树(hard)

题目描述

本题为困难版本,与简单版本的区别仅在数据的范围上。

某校大门外长度为 ll 的马路上有一排树,每两棵相邻的树之间的间隔都是 11 米。我们可以把马路看成一个数轴,马路的一端在数轴 00 的位置,另一端在 ll 的位置;数轴上的每个整数点,即 0,1,2,,l0,1,2,\dots,l 都种有一棵树。

由于马路上有一些区域要用来建地铁,现在要把这些区域中的树(包括区域端点处的两棵树)移走。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。

你的任务是计算将这些树都移走后,马路上还有多少棵树。

输入格式

第一行输入两个整数 $l, n \left( 1 \leq l \leq 10^9;\ 1 \leq n \leq 10^5 \right)$ 代表马路长度、移植的区域数目。

此后 nn 行,第 ii 行输入两个整数 li,ri(1liril)l_i, r_i \left( 1 \leq l_i \leq r_i \leq l \right) 代表第 ii 个移植区域的起始、中止坐标。

输出格式

在一行上输出一个整数,代表马路上剩余的树的数目。

输入样例

500 3
150 300
100 200
470 471

输出样例

298

说明/提示

在这个样例中,留下 0990 \sim 99301469301 \sim 469472500472 \sim 500 的树,共 100+169+29=298100 + 169 + 29 = 298 棵。