import math
for mm in range(int(input())):
    n=int(input())
    b=[]
    a=list(map(int,input().split(' ')))
    a.sort()
    a.reverse()
    k=int(0)
    jr=int(0)
    b.append(max(a))
    mx=max(a)
    a.remove(max(a))
    if len(a)>=1:
      for i in range(len(a)):
        if math.gcd(mx,a[i])>k:
            k=math.gcd(mx,a[i])
            jr=a[i]
      b.append(jr)
      a.remove(jr)
      lr=int(0)
      while len(a):
       for kk in a:
          if math.gcd(kk,k)>lr:
            lr=math.gcd(kk,k)
            jr=kk
       b.append(jr)
       a.remove(jr)
       k=lr
       lr=0
    print(*(ja for ja in b))









