import java.util.*;
public class Main {
	public static int gcd(int m,int n) {
		if(n==0)
			return m;
		else {
			return gcd(n,m%n);
		}
	}
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		int t=sc.nextInt();
		while(t-->0) {
			int n=sc.nextInt();
			int[] x=new int[n];
			for(int i=0;i<n;i++) {
				x[i]=sc.nextInt();
			}
			int tmp;
			for(int i=n-1;i>=1;i--) {
				if(x[i]>x[i-1]) {
					tmp=x[i];
					x[i]=x[i-1];
					x[i-1]=tmp;
				}
			}
			
			int y=x[0],max=0,loc=0;
			for(int i=1;i<n;i++) {
				max=0;
				for(int j=i;j<n;j++) {
					int c=gcd(y,x[j]);
					if(c>max) {
						loc=j;
						max=c;
					}
					
				}
				y=max;
				tmp=x[i];
				x[i]=x[loc];
				x[loc]=tmp;
				
			}
			for(int i=0;i<n;i++) {
				System.out.print(x[i]+" ");
			}
			System.out.println();
		}
	}
}

		 	 				 	    	  	   	 	 	