在一个以 N 行和 10^9 列划分为网格的城镇中,有 N 墙,编号为 1 到 N 。
Wall i 的范围从 L_i \第1列到 i \从上到下第1行的 R_i \第1列。(参见示例输入和输出 1 。)
小Z决定摧毁所有的城墙。
以他超人的力量,他的一拳可以立刻破坏连续的柱子。
-更正式地说,他可以在 1 和 10^9 - D + 1 (包括)之间选择一个**整数** x 来破坏 x 到 (x + D - 1) 第th列中存在(或部分存在)但尚未被破坏的所有墙壁。
当一堵墙的一部分被破坏时,整堵墙就会被冲床的冲击力摧毁。
(另见示例输入和输出 1 。)
至少小Z要打多少次才能摧毁所有的墙?
第一行两个数字N,D
接下来N行,每行两个数字L,R表示墙的左端点和右端点
破坏的次数
3 3 1 2 4 7 5 9
2
5 2 1 100 1 1000000000 101 1000 9982 44353 1000000000 1000000000
3
1 \leq N \leq 2 \times 10^5
1 \leq D \leq 10^9
1 \leq L_i \leq R_i \leq 10^9
他可以用两拳摧毁所有的墙,就像下面这样。(下面, \lbrack a, b \rbrack 表示从 a \第th列到 b \第th列的范围。)
-首先,输入 \lbrack 2, 4 \rbrack 。 \lbrack 2, 4 \rbrack 中存在的墙-墙 1 和 2 -被损坏和破坏。
-第二步,输入 \lbrack 5, 7 \rbrack 。存在于 \lbrack 5, 7 \rbrack 中的墙-墙 3 -被损坏和破坏。
也可以用这种方式用两拳摧毁所有的墙壁:
-首先,击穿 \lbrack 7, 9 \rbrack 摧毁墙 2 和 3 。
-第二,击打 \lbrack 1, 3 \rbrack 摧毁墙 1 。