import math
t= int(input())
for i in range(t):
    n= int(input())
    a= list(map(int,input().split()))
    while(False):
        break
    maxel= max(a)
    ans=list()
    for j in range(n):
        if(maxel==1):
            break
        maxgcd= math.gcd(maxel,a[0])
        ind=0
        for k in range(n):
            if(math.gcd(maxel,a[k])>maxgcd):
                maxgcd=math.gcd(maxel,a[k])
                ind=k
        ans.append(a[ind])
        a[ind]=-1
        maxel=maxgcd
    for j in a:
        if j!=-1:
            ans.append(j)
    
    for j in ans:
        if(j==-1):
            continue
        print(j,end=' ')
        
    print("")    
            
