← Home
write a go solution for Description:
Some permutation of length n is guessed.

You are given the indices of its prefix maximums and suffix maximums.

Recall that a permutation of length k is an array of size k such that each integer from 1 to k occurs exactly once.

Prefix maximums are the elements that are the maximum on the prefix ending at that element. More formally, the element a_i is a prefix maximum if a_i>a_j for every j<i.

Similarly, suffix maximums are defined, the element a_i is a suffix maximum if a_i>a_j for every j>i.

You need to output the number of different permutations that could have been guessed.

As this number can be very large, output the answer modulo 10^9+7.

Input Format:
Each test consists of several test cases. The first line contains a single integer t (1<=t<=10^4) — the number of test cases. Then follows the description of the test cases.

The first line of each test case contains three integers n,m_1 and m_2 (1<=m_1,m_2<=n<=2*10^5) — the length of the permutation, the number of prefix maximums, and the number of suffix maximums, respectively.

The second line of each test case contains m_1 integers p_1<p_2<ldots<p_m_1 (1<=p_i<=n) — the indices of the prefix maximums in increasing order.

The third line of each test case contains m_2 integers s_1<s_2<ldots<s_m_2 (1<=s_i<=n) — the indices of the suffix maximums in increasing order.

It is guaranteed that the sum of the values of n for all test cases does not exceed 2*10^5.

Output Format:
For each test case, output a single integer on a separate line — the number of suitable permutations modulo 10^9+7.

Note:
The following permutations are suitable for the second set of input data:

- [1,4,3,2]
- [2,4,3,1]
- [3,4,2,1]

The following permutations are suitable for the sixth set of input data:

- [2,1,6,5,3,4]
- [3,1,6,5,2,4]
- [3,2,6,5,1,4]
- [4,1,6,5,2,3]
- [4,2,6,5,1,3]
- [4,3,6,5,1,2]
- [5,1,6,4,2,3]
- [5,2,6,4,1,3]
- [5,3,6,4,1,2]
- [5,4,6,3,1,2]. Output only the code with no comments, explanation, or additional text.