#P1893B. Neutral Tonality

    ID: 10183 Type: RemoteJudge 3000ms 512MiB Tried: 0 Accepted: 0 Difficulty: 5 Uploaded By: Tags>constructive algorithmsgreedysortingstwo pointers*1700

Neutral Tonality

Description

You are given an array aa consisting of nn integers, as well as an array bb consisting of mm integers.

Let LIS(c)\text{LIS}(c) denote the length of the longest increasing subsequence of array cc. For example, LIS([2,1,1,3])\text{LIS}([2, \underline{1}, 1, \underline{3}]) = 22, LIS([1,7,9])\text{LIS}([\underline{1}, \underline{7}, \underline{9}]) = 33, LIS([3,1,2,4])\text{LIS}([3, \underline{1}, \underline{2}, \underline{4}]) = 33.

You need to insert the numbers b1,b2,,bmb_1, b_2, \ldots, b_m into the array aa, at any positions, in any order. Let the resulting array be c1,c2,,cn+mc_1, c_2, \ldots, c_{n+m}. You need to choose the positions for insertion in order to minimize LIS(c)\text{LIS}(c).

Formally, you need to find an array c1,c2,,cn+mc_1, c_2, \ldots, c_{n+m} that simultaneously satisfies the following conditions:

  • The array a1,a2,,ana_1, a_2, \ldots, a_n is a subsequence of the array c1,c2,,cn+mc_1, c_2, \ldots, c_{n+m}.
  • The array c1,c2,,cn+mc_1, c_2, \ldots, c_{n+m} consists of the numbers a1,a2,,an,b1,b2,,bma_1, a_2, \ldots, a_n, b_1, b_2, \ldots, b_m, possibly rearranged.
  • The value of LIS(c)\text{LIS}(c) is the minimum possible among all suitable arrays cc.

Each test contains multiple test cases. The first line contains a single integer tt (1t104)(1 \leq t \leq 10^4) — the number of test cases. The description of the test cases follows.

The first line of each test case contains two integers n,mn, m (1n2105,1m2105)(1 \leq n \leq 2 \cdot 10^5, 1 \leq m \leq 2 \cdot 10^5) — the length of array aa and the length of array bb.

The second line of each test case contains nn integers a1,a2,,ana_1, a_2, \ldots, a_n (1ai109)(1 \leq a_i \leq 10^9) — the elements of the array aa.

The third line of each test case contains mm integers b1,b2,,bmb_1, b_2, \ldots, b_m (1bi109)(1 \leq b_i \leq 10^9) — the elements of the array bb.

It is guaranteed that the sum of nn over all test cases does not exceed 21052\cdot 10^5, and the sum of mm over all test cases does not exceed 21052\cdot 10^5.

For each test case, output n+mn + m numbers — the elements of the final array c1,c2,,cn+mc_1, c_2, \ldots, c_{n+m}, obtained after the insertion, such that the value of LIS(c)\text{LIS}(c) is minimized. If there are several answers, you can output any of them.

Input

Each test contains multiple test cases. The first line contains a single integer tt (1t104)(1 \leq t \leq 10^4) — the number of test cases. The description of the test cases follows.

The first line of each test case contains two integers n,mn, m (1n2105,1m2105)(1 \leq n \leq 2 \cdot 10^5, 1 \leq m \leq 2 \cdot 10^5) — the length of array aa and the length of array bb.

The second line of each test case contains nn integers a1,a2,,ana_1, a_2, \ldots, a_n (1ai109)(1 \leq a_i \leq 10^9) — the elements of the array aa.

The third line of each test case contains mm integers b1,b2,,bmb_1, b_2, \ldots, b_m (1bi109)(1 \leq b_i \leq 10^9) — the elements of the array bb.

It is guaranteed that the sum of nn over all test cases does not exceed 21052\cdot 10^5, and the sum of mm over all test cases does not exceed 21052\cdot 10^5.

Output

For each test case, output n+mn + m numbers — the elements of the final array c1,c2,,cn+mc_1, c_2, \ldots, c_{n+m}, obtained after the insertion, such that the value of LIS(c)\text{LIS}(c) is minimized. If there are several answers, you can output any of them.

Sample Input 1

7
2 1
6 4
5
5 5
1 7 2 4 5
5 4 1 2 7
1 9
7
1 2 3 4 5 6 7 8 9
3 2
1 3 5
2 4
10 5
1 9 2 3 8 1 4 7 2 9
7 8 5 4 6
2 1
2 2
1
6 1
1 1 1 1 1 1
777

Sample Output 1

6 5 4
1 1 7 7 2 2 4 4 5 5
9 8 7 7 6 5 4 3 2 1
1 3 5 2 4
1 9 2 3 8 8 1 4 4 7 7 2 9 6 5
2 2 1
777 1 1 1 1 1 1

Note

In the first test case, LIS(a)=LIS([6,4])=1\text{LIS}(a) = \text{LIS}([6, 4]) = 1. We can insert the number 55 between 66 and 44, then LIS(c)=LIS([6,5,4])=1\text{LIS}(c) = \text{LIS}([6, 5, 4]) = 1.

In the second test case, LIS([1,7,2,4,5])\text{LIS}([\underline{1}, 7, \underline{2}, \underline{4}, \underline{5}]) = 44. After the insertion, c=[1,1,7,7,2,2,4,4,5,5]c = [1, 1, 7, 7, 2, 2, 4, 4, 5, 5]. It is easy to see that LIS(c)=4\text{LIS}(c) = 4. It can be shown that it is impossible to achieve LIS(c)\text{LIS}(c) less than 44.