Problem: In the previous problem Chandu bought some unsorted arrays and sorted them (in non-increasing order). Now, he has many sorted arrays to give to his girlfriend. But, the number of sorted arrays are very large so Chandu decided to merge two sorted arrays into one sorted array. But he is too lazy to do that. So, he asked your help to merge the two sorted arrays into one sorted array (in non-increasing order).

Input:
First line contains an integer T, denoting the number of test cases.
First line of each test case contains two space separated integers N and M, denoting the size of the two sorted arrays.
Second line of each test case contains N space separated integers, denoting the first sorted array A.
Third line of each test case contains M space separated integers, denoting the second array B.

Output:
For each test case, print (N + M) space separated integer representing the merged array.

Constraints:
1 ≤ T ≤ 100
1 ≤ N, M ≤ 5*10^4
0 ≤ Ai, Bi ≤ 10^9

SAMPLE INPUT
1
4 5
9 7 5 3
8 6 4 2 0

SAMPLE OUTPUT
9 8 7 6 5 4 3 2 0

Solution (in PYTHON):

Solution:
'''
# Read input from stdin and provide input before running code

name = raw_input('What is your name?\n')
print 'Hi, %s.' % name
'''
def solve(n,m,A,B):
	res = []
	i = j = 0
	while i < n and j < m:
		if A[i] >= B[j]:
			res.append(str(A[i]))
			i += 1
		else:
			res.append(str(B[j]))
			j += 1
	if i != n:
		for a in A[i:]:
			res.append(str(a))
	elif j != m:
		for b in B[j:]:
			res.append(str(b))
	return ' '.join(res)

def chandu_and_his_girlfriend_returns():	
	T = int(raw_input())
	for _ in xrange(T):
		n,m = map(int, raw_input().split())
		A = map(int, raw_input().split())
		B = map(int, raw_input().split())
		print solve(n,m,A,B)

if __name__ == "__main__":
	chandu_and_his_girlfriend_returns()