2187 - 一拳超人
描述

在一个以 N 行和 10^9 列划分为网格的城镇中,有 N 墙,编号为 1N

Wall i 的范围从 L_i \第1列到 i \从上到下第1行的 R_i \第1列。(参见示例输入和输出 1 。)


小Z决定摧毁所有的城墙。

以他超人的力量,他的一拳可以立刻破坏连续的柱子。


-更正式地说,他可以在 110^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

b7b9e6741514f51c6c0aac924589c9d2.png

他可以用两拳摧毁所有的墙,就像下面这样。(下面, \lbrack a, b \rbrack 表示从 a \第th列到 b \第th列的范围。)

-首先,输入 \lbrack 2, 4 \rbrack\lbrack 2, 4 \rbrack 中存在的墙-墙 12 -被损坏和破坏。

-第二步,输入 \lbrack 5, 7 \rbrack 。存在于 \lbrack 5, 7 \rbrack 中的墙-墙 3 -被损坏和破坏。

也可以用这种方式用两拳摧毁所有的墙壁:

-首先,击穿 \lbrack 7, 9 \rbrack 摧毁墙 23

-第二,击打 \lbrack 1, 3 \rbrack 摧毁墙 1


题目参数
时间限制 1 秒
内存限制 128 MB
提交次数 1
通过次数 1