Radek 及其朋友公司的老板 Radek 试图淹没竞争对手 Mati & Co. 公司中所有存放文件的架子。为了进行完美的破坏,他请他的朋友,水管工 Janusz,在每个架子上方安装了小型水龙头。
为了简化,Mati & Co. 公司的架子可以用平面上的线段来表示。每个架子都是一对点 $(l_i, h_i)$ 和 $(r_i, h_i)$ 之间的线段。水管工安装的水龙头坐标为 $(\frac{l_i+r_i}{2}, h_i + 0.5)$。房间的地板由 $OX$ 轴表示。
当第 $i$ 个架子上方的小水龙头被打开时,该架子就会被淹没。随后,水会从架子的两端垂直向下滴落,并可能淹没下方的其他架子,或者流到地板上的排水系统中。
在第二个样例测试中,打开一个水龙头后水流的示意图。
Radek 将按照某种固定的顺序考虑这些水龙头。当他考虑第 $i$ 个水龙头时,仅当第 $i$ 个架子尚未被淹没时,他才会打开它。
Radek 尚未确定他将按什么顺序考虑这些水龙头。他将从 $n!$ 种可能的顺序中随机选择一种,每种顺序被选中的概率相同。Radek 现在想知道他平均需要打开多少个水龙头。
你的任务是回答 Radek 的问题,并给出模 $10^9 + 7$ 的结果。形式化地说,设结果为 $\frac{p}{q}$,其中 $q \neq 0$ 且 $\gcd(p, q) = 1$。你需要输出一个数字 $p \cdot q^{-1} \pmod{10^9 + 7}$,其中 $q^{-1}$ 是集合 $\{1, 2, \dots, 10^9 + 6\}$ 中满足 $q \cdot q^{-1} \equiv 1 \pmod{10^9 + 7}$ 的唯一数字。
可以证明,对于所有满足题目条件的测试用例,结果都是一个有理数,且其最简分数形式的分母不能被 $10^9 + 7$ 整除。
输入格式
第一行包含一个自然数 $n$ ($1 \le n \le 500\,000$),表示 Mati 公司中架子的数量。
接下来的 $n$ 行包含架子的描述。第 $i$ 行包含两个自然数 $l_i, r_i$ ($1 \le l_i < r_i \le 2 \cdot n$),如题目所述。为简化起见,我们假设 $h_i = i$。
你可以假设所有的数字 $l_i, r_i$ 都是两两不同的——数字 $l_i, r_i$ 构成了 $1$ 到 $2 \cdot n$ 的一个排列。
输出格式
在标准输出的唯一一行中,输出 Radek 平均需要打开的水龙头数量,模 $10^9 + 7$。
样例
样例输入 1
3 4 6 1 3 2 5
样例输出 1
2
样例输入 2
5 2 9 3 4 1 8 6 10 5 7
样例输出 2
233333338
说明
对于第一个样例,考虑 Radek 分析水龙头的所有可能顺序: 对于顺序 1, 2, 3,他将打开全部 3 个水龙头。 对于顺序 1, 3, 2,他将打开第一个和第三个水龙头。打开第三个水龙头后,水也会淹没第二个架子,因此他不需要打开第二个水龙头。 对于顺序 2, 1, 3,他将打开全部 3 个水龙头。 对于顺序 2, 3, 1,他将打开第二个和第三个水龙头。打开第三个水龙头后,水会淹没第一个架子,因此不需要打开第一个水龙头。 * 对于顺序 3, 1, 2 以及 3, 2, 1,他将只打开第三个水龙头。打开它后,所有架子都会被淹没,因此不需要打开其他水龙头。
因此,Radek 平均需要打开 $\frac{1}{6} \cdot (3 + 2 + 3 + 2 + 1 + 1) = 2$ 个水龙头。
在第二个样例中,Radek 平均需要打开 $\frac{91}{30}$ 个水龙头。由于 $30^{-1} \equiv 233333335 \pmod{10^9 + 7}$,我们得到 $91 \cdot 233333335 \equiv 21233333485 \equiv 233333338 \pmod{10^9 + 7}$。