Problem: The evil mastermind, Moriarty, strikes again!  He sent Sherlock an image of a wall, with N integers painted on it. Sherlock is asked to solve the puzzle and find the next clue.
Sherlock knows that Moriarty is a deceitful person. All the numbers painted on the wall are not valid. Only the numbers that are Coprime with the integer X are valid, and the rest are a deceit. Help Sherlock find the valid integers from the given array A so that he can track down Moriarty.  

Input:
First line contains T. T test cases follow.
First line of each test case contains two space-separated integers N and X.
Second line of each test case contains N space-separated integers, forming the array A. 

Output:
Print the valid integers separated by spaces in the order that they appear in the list or "-1" (without the quotes) if there are no valid integers, in a new line for each test case.  

Constraints:
1 ≤ T ≤ 10
1 ≤ N ≤ 10^4
2 ≤ Ai, X ≤ 10^7

SAMPLE INPUT
1
5 4
2 5 8 3 13

SAMPLE OUTPUT
5 3 13

Solution (in PYTHON):

Solution:
a = raw_input()
a = int(a)
i = 0
def gcd(a,b):
	if a == 0 or b == 0:
		return max(a,b)
	else:
		if a < b:
			return gcd(b%a, a)
		else:
			return gcd(a%b, b)

while i < a:
	x = raw_input().split(' ')
	l = int(x[0])
	x = int(x[1])
	ar = raw_input().split(' ')
	ar1 = []
	for j in ar:
		ar1.append(int(j))
	#print ar1	
	isFalse = True
	aa = []
	for j in ar1:
		if j % x == 0 or x % j == 0:
			isFalse = False
			#break
		else:
			#print gcd(x,j)
			if gcd(x,j) == 1:
				aa.append(j)
	#print aa
	for k in aa:
		print k,
	print	
	#print x
	i = i+1