import math
for t in range(int(input())):
    n=int(input())
    l=list(map(int,input().split()))
    l.sort(reverse=True)
    g=max(l)
    l1=[]
    while len(l):
        maxi=0
        for j in range(len(l)):
            
            if math.gcd(g,l[j])>maxi:
                maxi=math.gcd(g,l[j])
                c=l[j]
        g=maxi
        l.remove(c)
        l1.append(c)
        
    print(*l1)
    