AT_agc012_d [AGC012D] Colorful Balls
Description
[problemUrl]: https://atcoder.jp/contests/agc012/tasks/agc012_d
すぬけくんは $ N $ 個の色が塗られたボールを一列に並べました。 左から $ i $ 番目のボールは色 $ c_i $ で塗られていて、その重さは $ w_i $ です。
すぬけくんは以下の $ 2 $ 種類の操作を任意の順序で何回でも繰り返してボールの配置を変更することができます。
- 操作 $ 1 $:色が同じであるような $ 2 $ つのボールを選ぶ。$ 2 $ つのボールの重さの和が $ X $ 以下なら、$ 2 $ つのボールの位置を入れ替える。
- 操作 $ 2 $:色が異なるような $ 2 $ つのボールを選ぶ。$ 2 $ つのボールの重さの和が $ Y $ 以下なら、$ 2 $ つのボールの位置を入れ替える。
最終的なボールの色の並びとしてありうるような数列の数を modulo $ 10^9\ +\ 7 $ で求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ X $ $ Y $ $ c_1 $ $ w_1 $ $ : $ $ c_N $ $ w_N $
Output Format
答えを出力せよ。
Explanation/Hint
### 制約
- $ 1\ ≦\ N\ ≦\ 2\ ×\ 10^5 $
- $ 1\ ≦\ X,\ Y\ ≦\ 10^9 $
- $ 1\ ≦\ c_i\ ≦\ N $
- $ 1\ ≦\ w_i\ ≦\ 10^9 $
- $ X,Y,c_i,\ w_i $ はいずれも整数
### Sample Explanation 1
\- 操作 $ 2 $ により左から $ 1 $ 番目のボールの位置と左から $ 3 $ 番目のボールの位置を入れ替えることで、$ (2,4,3,4) $ という色の並びを作ることが可能です。 - 操作 $ 1 $ により左から $ 2 $ 番目のボールの位置と左から $ 4 $ 番目のボールの位置を入れ替えることも可能ですが、色の並びは変化しません。