Radek,一家公司的老闆,試圖淹沒競爭對手 Mati 公司內所有存放文件的架子。為了進行完美的破壞行動,他請他的朋友,水管工 Janusz,在每個架子上方安裝一個小水龍頭。
為了簡化,Mati 公司的架子可以用平面上的線段來表示。每個架子都是連接點 $(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}$。