CF1228B Filling the Grid

Description

Suppose there is a $ h \times w $ grid consisting of empty or full cells. Let's make some definitions: - $ r_{i} $ is the number of consecutive full cells connected to the left side in the $ i $ -th row ( $ 1 \le i \le h $ ). In particular, $ r_i=0 $ if the leftmost cell of the $ i $ -th row is empty. - $ c_{j} $ is the number of consecutive full cells connected to the top end in the $ j $ -th column ( $ 1 \le j \le w $ ). In particular, $ c_j=0 $ if the topmost cell of the $ j $ -th column is empty. In other words, the $ i $ -th row starts exactly with $ r_i $ full cells. Similarly, the $ j $ -th column starts exactly with $ c_j $ full cells. ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1228B/718cfa57d80806dbeecabcc145703169da7deb79.png)These are the $ r $ and $ c $ values of some $ 3 \times 4 $ grid. Black cells are full and white cells are empty.You have values of $ r $ and $ c $ . Initially, all cells are empty. Find the number of ways to fill grid cells to satisfy values of $ r $ and $ c $ . Since the answer can be very large, find the answer modulo $ 1000000007\,(10^{9} + 7) $ . In other words, find the remainder after division of the answer by $ 1000000007\,(10^{9} + 7) $ .

Input Format

The first line contains two integers $ h $ and $ w $ ( $ 1 \le h, w \le 10^{3} $ ) — the height and width of the grid. The second line contains $ h $ integers $ r_{1}, r_{2}, \ldots, r_{h} $ ( $ 0 \le r_{i} \le w $ ) — the values of $ r $ . The third line contains $ w $ integers $ c_{1}, c_{2}, \ldots, c_{w} $ ( $ 0 \le c_{j} \le h $ ) — the values of $ c $ .

Output Format

Print the answer modulo $ 1000000007\,(10^{9} + 7) $ .

Explanation/Hint

In the first example, this is the other possible case. ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1228B/9d1150639137da10f3c33f0f1362034ed19afeb9.png)In the second example, it's impossible to make a grid to satisfy such $ r $ , $ c $ values. In the third example, make sure to print answer modulo $ (10^9 + 7) $ .