#agc015e. [agc015_e]Mr.Aoki Incubator

[agc015_e]Mr.Aoki Incubator

問題文

数直線上に NN 人の高橋君が並んでおり、11 から NN までの番号がついています。 ii 人目の高橋君は、時刻 00 に位置 XiX_i にいて、速度 ViV_i で正の方向に歩き始めます。

けすぬ君は、時刻 00 に高橋君たちのうちの何人かを選んで青木君にすることができます。 高橋君が青木君になっても歩く速度は変化しません。 それ以降、もしある瞬間に高橋君と青木君が同じ座標にいたなら、高橋君は青木君になります。

けすぬ君が時刻 00 に高橋君を青木君にする 2N2^N 通りの方法のうち、 十分な時間が経過した後、高橋君が全員青木君になっているような方法の数を 109+710^9+7 で割ったあまりを求めてください。

制約

  • 1N2000001 ≦ N ≦ 200000
  • 1Xi,Vi109(1iN)1 ≦ X_i,V_i ≦ 10^9(1 ≦ i ≦ N)
  • Xi,ViX_i,V_i は整数である
  • XiX_i たちはすべて異なる
  • ViV_i たちはすべて異なる

入力

入力は以下の形式で標準入力から与えられる。

NN X1X_1 V1V_1 : XNX_N VNV_N

出力

十分な時間が経過した後、高橋君が全員青木君になっているような方法の数を 109+710^9+7 で割ったあまりを出力せよ。


入力例 1

3
2 5
6 1
3 7

出力例 1

6

けすぬ君が (2),(3),(1,2),(1,3),(2,3),(1,2,3)(2),(3),(1,2),(1,3),(2,3),(1,2,3) 番目の高橋君を青木君にしたとき、十分な時間が経過した後にすべての高橋君が青木君になっています。


入力例 2

4
3 7
2 9
8 16
10 8

出力例 2

9