import java.util.ArrayList;
import java.util.HashMap;
import java.util.Scanner;
public class hacker50 {

	public static void main(String[] args) {
		Scanner s=new Scanner(System.in);
		int t=s.nextInt();
		while(t>0) {
			int n=s.nextInt();
			ArrayList<Integer> e=new ArrayList<>();
			int j=0;
			int max=Integer.MIN_VALUE;
			for(int i=0;i<n;i++) {
				e.add(s.nextInt());
				if(e.get(i)>max) {
					max=e.get(i);
					j=i;
				}
			}
			int[] b=new int[n];
			b[0]=max;
			int k=1;
			e.remove(j);
			e.trimToSize();
			int gcd=max;
			while(e.size()>0) {
				int o=0;
				int v=0;
			for(int i=0;i<e.size();i++) {
				 int po=gcdCal(e.get(i),gcd);
				 if(po>o) {
					o=po;
					v=i;
			}
				 }
			b[k]=e.get(v);
			e.remove(v);
			e.trimToSize();
			gcd=o;
			k++;
			}
			t--;
			for(int i=0;i<n;i++) {
				System.out.print(b[i]+" ");
			}
			System.out.println();
		}

	} static int gcdCal(int a,int gcd)
	  {
	    while (gcd > 0)
	    {
	        int temp = gcd;
	        gcd = a % gcd; 
	        a = temp;
	    }
	    return a;
	   }
	}


