Problem: Mahesh got a beautiful array named A as a birthday gift from his beautiful girlfriend Namratha. There are N positive integers in that array. Mahesh loved the array so much that he started to spend a lot of time on it everyday. One day, he wrote down all possible subsets of the array. Then for each subset, he calculated the sum of elements in that subset and wrote it down on a paper. Unfortunately, Mahesh lost the beautiful array :(. He still has the paper on which he wrote all subset sums. Your task is to rebuild beautiful array A and help the couple stay happy :)


Input
The first line of the input contains an integer T denoting the number of test cases.
First line of each test case contains one integer N, the number of elements in A.
Second line of each test case contains 2^N integers, the values written on paper

Output
For each test case, output one line with N space separated integers in non-decreasing order.

Constraints

1 ≤ T ≤ 50
1 ≤ N ≤ 15
0 ≤ Values on paper ≤ 10^9
All input values are valid. A solution always exists


Example
Input
2
1
0 10
2
0 1 1 2

Output
10
1 1

Explanation
Test case #2
For the array [1,1], possible subsets are {}, {1}, {1}, {1,1}, respective sums are 0, 1, 1, 2.

Solution (in PYTHON):

Solution:
t=input()
for qq in range(t):
	n=input()
	l=map(int,raw_input().split())
	l.sort()
#	print l 
	if n==1:print l[1]
	else: 
		if n==2:print l[1],l[2]
		else:
			num=0
			ansl=[]
			d={}
			len_of_d=0
			for x in l[1:]:
				if x!=0:
					if x not in d:
						ansl.append(x)
						num+=1
						kk=d.keys()
						for y in xrange(len_of_d-1,-1,-1):
							y=kk[y]
			#				print y,d[y]
							if (y!=0):
								if (x+y) in d:d[x+y][0]+=sum(d[y])
								else:
									len_of_d+=1
									d[x+y]=[sum(d[y]),0]
						if x in d:d[x][1]+=1
						else:
							len_of_d+=1
							d[x]=[0,1]		
						if 0 in d:
							if x!=0:d[x][0]+=sum(d[0])
					else:
						if d[x][0]==0:
							ansl.append(x)
							num+=1
							kk=d.keys()
							for y in xrange(len_of_d-1,-1,-1):
								y=kk[y]
								if y!=0:
									if (x+y) in d:d[x+y][0]+=sum(d[y])
									else:
										len_of_d+=1
										d[x+y]=[sum(d[y]),0]
							d[x][1]+=1
							if 0 in d:
								if x!=0:d[x][0]+=sum(d[0])
						else:
							a,b=d[x]
							d[x]=[a-1,b+1]
				else:	
					if 0 not in d:
						len_of_d+=1
						d[0]=[0,1]
						num+=1
						ansl.append(0)
					else:
						a,b=d[0]
						if a!=0:d[0]=[a-1,b+1]
						else:
							ansl.append(0)
							num+=1
							d[0]=[b,b+1]							
			#	print x,d,ansl,len_of_d
				if (num==n):break
			print " ".join(map(str,ansl))