#agc012d. [agc012_d]Colorful Balls

[agc012_d]Colorful Balls

题目描述

Snuke将NN个彩色球排成一排。从左边开始的第ii个球的颜色为cic_i,重量为wiw_i

他可以通过任意次数的以下两种操作中的任意顺序来重新排列球:

  • 操作11:选择两个颜色相同的球。如果这两个球的总重量不超过XX,交换这两个球的位置。
  • 操作22:选择两个颜色不同的球。如果这两个球的总重量不超过YY,交换这两个球的位置。

有多少个不同的球颜色序列可以获得?计算结果对109+710^9 + 7取模。

约束条件

  • 1N2×1051 ≤ N ≤ 2 × 10^5
  • 1X,Y1091 ≤ X, Y ≤ 10^9
  • 1ciN1 ≤ c_i ≤ N
  • 1wi1091 ≤ w_i ≤ 10^9
  • X,Y,ci,wiX, Y, c_i, w_i都是整数。

输入

从标准输入读入输入数据,具体格式如下:

NN XX YY c1c_1 w1w_1 :: cNc_N wNw_N

输出

输出答案。

示例输入 1

4 7 3
3 2
4 3
2 1
4 4

示例输出 1

2
  • 可以通过操作22交换第一个球和第三个球的位置得到颜色序列(2,4,3,4)(2,4,3,4)
  • 也可以通过操作11交换第二个球和第四个球的位置,但这不会改变球的颜色序列。

示例输入 2

1 1 1
1 1

示例输出 2

1

示例输入 3

21 77 68
16 73
16 99
19 66
2 87
2 16
7 17
10 36
10 68
2 38
10 74
13 55
21 21
3 7
12 41
13 88
18 6
2 12
13 87
1 9
2 27
13 15

示例输出 3

129729600