def nwd(a, b):
    while b:
        a, b = b, a%b
    return a
for _ in range(int(input())):
    n = int(input())
    liczby = sorted(list(map(int, input().split())))
    wynik = []
    wynik.append(liczby[-1])
    liczby = liczby[:-1]
    nwdb = wynik[0]
    for x in range(1, n):
        maks = 0
        best = 0
        for z in range(len(liczby)):
            cos = nwd(nwdb, liczby[z])
            if cos > maks:
                best = z
                maks = cos
        wynik.append(liczby[best])
        nwdb = nwd(nwdb, wynik[-1])
        del liczby[best]
    print(*wynik)
