import java.util.Arrays;
import java.util.ArrayList;
import java.util.Scanner;
public class contest93{
	static Scanner scan = new Scanner(System.in);
	static int t = scan.nextInt();
	static int gcd(int a, int b){
		if(b==0){
			return a;
		}else{
			return gcd(b, a%b);
		}
	}
	public static void main(String[] args) {
		for(int i=0; i<t; i++){
			int n = scan.nextInt();
			ArrayList<Integer> arl = new ArrayList<Integer>();
			int max=0;
			int v=0;
			for(int j=0; j<n; j++){
				arl.add(scan.nextInt());
				if(arl.get(j)>max){
					max=arl.get(j);
					v=j;
				}
			}
			int[] arr = new int[n];
			arr[0]=max;
			arl.remove(v);
			int[] altarr = new int[n-1];
			for(int j=0; j<n-1; j++){
				altarr[j]=gcd(max,arl.get(j));
			}
			v=0;
			for(int j=0; j<n-1; j++){
				max=0;
				for(int k=0; k<n-1; k++){
					if(altarr[k]>max){
						max=altarr[k];
						v=k;
					}
				}
				arr[j+1]=arl.get(v);
				altarr[v]=0;
			}
			for(int j=0; j<n-1; j++){
				System.out.print(arr[j]+" ");
			}
			System.out.println(arr[n-1]);
		}
	}
}