题目描述
N 行 M 列のグリッドに,1 から N × M までの整数を重複のないように 1 つずつ書き込むことを考えます. ここで,普通に書き込むのでは面白くないと思った高橋君は,以下の条件を満たすように数を書き込むことにしました.
- i 行目に書き込まれている値のうち,最大の値は Ai (1 ≤ i ≤ N)
- j 列目に書き込まれている値のうち,最大の値は Bj (1 ≤ j ≤ M)
高橋君のために,この条件を満たすような書き込み方の個数を 109 + 7 で割ったあまりを求めてください.
输入格式
入力は以下の形式で標準入力から与えられる.
N M A1 A2 ... AN B1 B2 ... BM
输出格式
条件を満たすような書き込み方の個数を 109 + 7 で割ったあまりを出力せよ.
题目大意
求满足下列条件的 n×m 的矩阵 M 的个数(mod109+7):
- 1∼n×m 各出现一次。
- ai=t=1maxmMi,t。
- bj=t=1maxnMt,j。
translated by
https://www.luogu.com.cn/user/367488
2 2
4 3
3 4
2
3 3
5 9 7
3 6 9
0
2 2
4 4
4 4
0
14 13
158 167 181 147 178 151 179 182 176 169 180 129 175 168
181 150 178 179 167 180 176 169 182 177 175 159 173
343772227
提示
制約
- 1 ≤ N ≤ 1000
- 1 ≤ M ≤ 1000
- 1 ≤ Ai ≤ N × M
- 1 ≤ Bj ≤ N × M
- Ai, Bj は整数
Sample Explanation 1
(A1, A2) = (4, 3),(B1, B2) = (3, 4) であり,この場合は以下の 2 通りの書き込み方があります. - 1 行 1 列目に 1,1 行 2 列目に 4,2 行 1 列目に 3,2 行 2 列目に 2 - 1 行 1 列目に 2,1 行 2 列目に 4,2 行 1 列目に 3,2 行 2 列目に 1
Sample Explanation 2
どのような書き込み方をしても条件を満たすことができないので,0 を出力します.