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$ 两序列数据各从大到小排序。