AT_dwacon2018_prelims_c Kill/Death
题目描述
dwango的成员nwango同学很喜欢游戏。他今天在玩一个这样的游戏:
- 游戏分两队进行: $N$ 个人在A队, $M$ 个人在B队。
- 各玩家在游戏中要攻击敌方的玩家。
- 玩家攻击成功时,该玩家 $kill$ 数+1,被攻击玩家 $death$ 数+1。
- 双方都可以在攻击后继续战斗并且仍然可以被攻击。
- 一个玩家可以多次攻击同一玩家,但是不可以攻击队友。
- 游戏开始时,所有的 $kill$ 数和 $death$ 数都是0。
nwango同学在游戏结束后记录了结果,记录的格式为:
A队的kill数:$killA_1,killA_2,\dots,killA_N$
A队的death数:$deathA_1,deathA_2,\dots,deathA_N$
B队同理。
nwango同学想通过记录的 $kill$ 数来还原 $death$ 数,请共有多少种不同方案(有多少种不同的可能 $death$ 数序列)。
答案可能非常大,请对 $10^9 + 7$ 取模。
输入格式
第一行两个整数$N$,$M$,表示两队人数
接下来一行 $N$ 个整数,表示A队各玩家 $kill$ 数
接下来一行 $M$ 个整数,表示B队各玩家 $kill$ 数
输出格式
一行一个整数,即所求答案。
**样例:**
样例1
```
4 1
0 0 0 0
5
```
```
6
```
样例2
```
4 1
3 2 1 0
5
```
```
56
```
样例3
```
4 4
2 1 1 1
1 1 1 1
```
```
66
```
样例4
```
4 4
5 5 4 3
5 4 4 3
```
```
322875
```
样例5
```
5 5
100 100 100 100 100
50 50 50 50 50
```
```
331829279
```
说明/提示
$1 \le N,M \le 100$
$0 \le killA_i,killB_i$
$\sum_{i=1}^N killA_i \le 10^3$
$\sum_{i=1}^N killB_i \le 10^3$
两序列数据各从大到小排序。