import java.util.*;
public class Codeforces{
 
    static int gcd(Integer a,Integer b)
    {
        if(b==0)
            return a;
        else
            return gcd(b,a%b);
    }
 
    public static void main(String args[])
    {
        Scanner sc=new Scanner(System.in);
        int t=sc.nextInt();
        for(int q=0;q<t;q++)
        {
            int n=sc.nextInt();
            ArrayList<Integer> arr=new ArrayList<Integer>();
            for(int i=0;i<n;i++)
            {
                arr.add(sc.nextInt());
            }
            Collections.sort(arr);
            int ans[]=new int[n];
            ans[0]=arr.get(n-1);
            arr.remove(n-1);
            int g[]=new int[n];
            g[0]=ans[0];
            for(int i=1;i<n;i++)
            {
                int index=0;
                int max=0;
                for(int j=0;j<arr.size();j++)
                {
                    int x=gcd(g[i-1],arr.get(j));
                    if(x>max)
                    {
                        max=x;
                        index=j;
                        g[i]=x;
                    }
                }
                ans[i]=arr.get(index);
                arr.remove(index);
            }
            for(int i=0;i<n;i++)
            {
                System.out.print(ans[i]+" ");
            }
            System.out.println();
        }
        sc.close();
    }
}