Farmer John 为他的奶牛们开设了一个游泳池,他认为这能帮助它们放松并产出更多的牛奶。
为了确保安全,他雇佣了 $N$ 头奶牛作为救生员,每头奶牛的工作时间段覆盖了白天的一段连续时间。为简化起见,游泳池每天从时间 $0$ 到时间 $10^9$ 开放,因此每个班次可以用两个整数来描述,分别表示奶牛开始和结束工作的时间。例如,一名在时间 $t = 4$ 开始并在时间 $t = 7$ 结束的救生员覆盖了三个单位的时间(注意端点是时间轴上的“点”)。
不幸的是,Farmer John 雇佣的救生员比他能负担的数量多了 $K$ 名。已知他必须解雇恰好 $K$ 名救生员,请问剩余救生员的班次所能覆盖的最大时间长度是多少?如果某个时间段内至少有一名救生员在岗,则该时间段被视为被覆盖。
输入格式
输入的第一行包含 $N$ 和 $K$ ($K \leq N \leq 100,000, 1 \leq K \leq 100$)。接下来的 $N$ 行中,每行描述一名救生员,包含两个范围在 $0 \ldots 10^9$ 之间的整数,分别表示救生员班次的开始和结束时间。所有这些端点都是互不相同的。不同救生员的班次可能会重叠。
输出格式
请输出一个整数,表示在 Farmer John 解雇 $K$ 名救生员后,剩余班次所能覆盖的最大时间长度。
样例
样例输入 1
3 2
1 8
7 15
2 14
样例输出 1
12
说明
在此样例中,FJ 应该解雇覆盖 $1 \ldots 8$ 和 $7 \ldots 15$ 的救生员。
题目来源:Brian Dean