#dwacon2018prelimsc. [dwacon2018_prelims_c]Kill/Death

[dwacon2018_prelims_c]Kill/Death

配点:500500

问题描述

dwango公司的成员"ニワンゴくん"非常喜欢游戏。他正在玩一个名为"なんとかトゥーン"的游戏。

这个游戏是团队战,分为由 NN 名玩家组成的 A 队和由 MM 名玩家组成的 B 队进行战斗。每个玩家在战斗期间都可以对对方队伍的玩家进行"攻击"。如果某个玩家对某个玩家的攻击成功,那么攻击者的"击杀数"会增加 11,同时被攻击的玩家的"死亡数"也会增加 11。每个玩家都可以在攻击后继续战斗,可能会遭受攻击。一个玩家可能会多次攻击同一个玩家。但是,不能攻击同一队伍的玩家。战斗开始时,所有玩家的击杀数和死亡数都设置为 00

ニワンゴくん在战斗结束后记录了战斗结果。ニワンゴくん的记录如下所示。首先,将 A 队的玩家按照击杀数从高到低(如果相同,则按照死亡数从低到高)排序,将它们的击杀数表示为 killA = \[killA_1, killA_2, ..., killA_N\],将死亡数表示为 deathA = \[deathA_1, deathA_2, ..., deathA_N\]。同样地,对于 B 队的玩家,定义数列 killB = \[killB_1, killB_2, ..., killB_M\]deathB = \[deathB_1, deathB_2, ..., deathB_M\]。ニワンゴくん只记录了 killAkillAkillBkillB

ニワンゴくん注意到,并不总是可以从 killAkillAkillBkillB 唯一地恢复出 deathAdeathAdeathBdeathB。给定 killAkillAkillBkillB,有多少种与之不矛盾的 deathAdeathAdeathBdeathB 组合?由于答案可能非常大,请输出除以 1,000,000,007(109+7)1,000,000,007 (10^9 + 7) 的余数。

约束条件

  • 1N,M1001 \leq N, M \leq 100
  • 0killAi,killBi0 \leq killA_i, killB_i
  • killA1+killA2+...+killAN1,000killA_1 + killA_2 + ... + killA_N \leq 1,000
  • killB1+killB2+...+killBM1,000killB_1 + killB_2 + ... + killB_M \leq 1,000
  • killAikillAi+1(1iN1)killA_{i} \geq killA_{i+1} (1 \leq i \leq N - 1)
  • killBikillBi+1(1iM1)killB_{i} \geq killB_{i+1} (1 \leq i \leq M - 1)

输入

输入以以下格式从标准输入中给出。

NN MM killA1killA_1 killA2killA_2 ...... killANkillA_N killB1killB_1 killB2killB_2 ...... killBMkillB_M

输出

输出答案。

输入示例1

4 1
0 0 0 0
5```

### 输出示例1

```plain
6```

$deathA$ 可能的组合有 $\[0, 0, 0, 5\]$, $\[0, 0, 1, 4\]$, $\[0, 0, 2, 3\]$, $\[0, 1, 1, 3\]$, $\[0, 1, 2, 2\]$, $\[1, 1, 1, 2\]$,$deathB$ 只有一种 $\[0\]$,所以答案是 $6$。

### 输入示例2

```plain
4 1
3 2 1 0
5```

### 输出示例2

```plain
56```

在输入示例1中,由于 A 队的所有玩家的击杀数相同,所以死亡数必须按升序排列。但是在输入示例2中,由于击杀数不同,死亡数不必按升序排列。

### 输入示例3

```plain
4 4
2 1 1 1
1 1 1 1```

### 输出示例3

```plain
66```

$deathA$ 可能的组合有 $11$ 种,$deathB$ 可能的组合有 $6$ 种,所以答案是 $66$。

### 输入示例4

```plain
4 4
5 5 4 3
5 4 4 3```

### 输出示例4

```plain
322875```

### 输入示例5

```plain
5 5
100 100 100 100 100
50 50 50 50 50```

### 输出示例5

```plain
331829279```