import java.util.*;
import java.io.*;
import java.math.*;


public class Main {
	public static void main(String[] args) {
		
		Scanner in = new Scanner(System.in);
		Map<Integer, Integer> map = new HashMap<Integer, Integer>();
		
		int n = in.nextInt();
		int lim = n*n;
		
		int a[] = new int[lim];
		
		for(int i = 0; i < lim; i++){
			a[i] = in.nextInt();
		}
		
		Arrays.sort(a);
		ArrayList<Integer> res = new ArrayList<Integer>();
		
		for(int i = 0; i <lim; i++){	
			if(map.get(a[i]) != null){
				int v = map.get(a[i]) + 1;
				map.put(a[i], v);
			}
			else{
				map.put(a[i], 1);
			}
		}
		int ind = lim-1;
		while(ind >= 0){
			if(map.get(a[ind]) > 0){
				map.put(a[ind], map.get(a[ind]) -1 );
				
				for(int i = 0; i < res.size(); i++){
					int gcd = gcd(a[ind], res.get(i));
					map.put(gcd, map.get(gcd)-2);
				}
				
				res.add(a[ind]);
			}
			
			
			ind--;
		}

		for(int i = 0; i<res.size(); i++){
			System.out.print(res.get(i) + " ");
		}

		
	}
	
	public static int gcd(int a, int b){
	    if(b==0){
	    	return a;
	    }
	    a = a%b;
	    return gcd(b,a);
	}
}