import math
T=int(input())
for _ in range(T):
    n=int(input())
    arr=list(map(int,input().split()))
    x=max(arr)
    g1=x
    my_list=[max(arr)]
    arr.remove(max(arr))
    g=1
    c=1
    while True:
        p=arr.copy()
        for i in arr:
            if math.gcd(i,g1)>g:
                g=math.gcd(i,g1)
        if g==1:
            for i in arr:
                my_list.append(i)
                c+=1
        else:
            for i in arr:
                if i%g==0:
                    p.remove(i)
                    my_list.append(i)
                    c+=1
        if c==n:
            break
        else:
            g1=g
            g=1
            arr=p
    print(*my_list)
