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:
def gcd(a,b):
    while(a!=0 and b!=0):
        if (a > b):
            a = a % b
        else:
            b = b % a
    if max(a,b) == 1:
        return True
    else:
        return False

t = int(raw_input(''))
for i in range(0,t):
    my_str =(raw_input(''))
    n,x = my_str.split()
    n = int(n)
    x= int(x)
   
    result =[]
    my_str =(raw_input(''))
    ar = my_str.split()
    for j in range(0,len(ar)):
        ar[j] = int(ar[j])
        ans = gcd(max(x,ar[j]),min(x,ar[j]))
        if(ans==True):
            result.append(ar[j])

    my_str = ''
    for j in range(0,len(result)):
        my_str = my_str + str(result[j]) + ' '

    print my_str