import math
t=int(input())
for p in range(t):
    n=int(input())
    b=list(map(int,input().split()))
    q=max(b)
    v=[0]*(n)
    arr=[]
    res=[0]
    j=0
    while(j<n):
        if b[j]==q:
            arr.append(q)
            v[j]=1
            break
        j+=1
    g=q
    i=1
    while(i<n):
        j=0
        mi=0
        while(j<n):
            if v[j]==0:
                res=math.gcd(g,b[j])
                if res>mi:
                    mi=res
                    pos=j
            j+=1


        g=mi
        v[pos]=1
        arr.append(b[pos])
        i+=1
    print(*arr)







