#P2034. 救生员

救生员

题目描述

NN 个人,作为泳池的救生员,每一个救生员在一天内都会有一定的事情,并且这些事情都会覆盖一天内的一段时间。为了简单起见,泳池从时间 t=0t=0 时开门,直到时间 t=109t=10^9 关门,所以每个事情都可以用两个整数来描述,给出救生员开始以及结束事情的时间。例如,一个救生员在时间 t=4t=4 时开始事情并且在时间 t=7t=7 时结束事情,那么这件事情就覆盖了 33 个单位时间。(注意:结束时间是“点”的时间)

不幸的是,经理多雇佣了一名的救生员,但他没有足够的资金来雇佣这些救生员。因此他必须解雇一名救生员,求可以覆盖剩余救生员的轮班时间的最大总量是多少?如果当时至少有一名救生员的事情已经开始,则这个时段被覆盖。

输入格式

输入的第一行包括一个整数 N (1N100000)N\ ( 1 \le N \le 100000)。接下来 NN 行中,每行告诉了我们一个救生员在 01090 \sim 10^9 范围内的开始以及结束时间。所有的结束时间都是不同的。不同的救生员的事情覆盖的时间可能会重叠。

输出格式

输出一行一个整数,如果解雇一名救生员仍能覆盖的最大时间。

样例 #1

样例输入 #1

3
5 9
1 4
3 7

样例输出 #1

7