#CF582A. GCD Table

GCD Table

题目描述

有一个长度为 nn 的数列 aa,它可以生成一个 n×nn \times n 的数表,数表的第 ii 行第 jj 列存放的数字是 gcd(a[i],a[j])\gcd(a[i],a[j])(即 a[i]a[i]a[j]a[j] 的最大公因数)。

一个例子:

举个例子,上面那个表,就是由数列 a[]={4,3,6,2}a[]=\{4,3,6,2\} 生成的。

现在我们要做这样一件事情:将这个数表中的这 n×nn \times n 个数打乱,得到一个长度为 n×nn \times n 的序列(可参考样例1)。在已知这个序列的情况下,请还原出数列 aa

输入格式

第一行是一个整数 nn1n5001\leq n\leq500),代表的是原数列 aa 的长度。

第二行是 n×nn \times n 个整数(均不超过 10910^9,且均为正数),代表打乱之后的数表的元素。保证有解。

输出格式

共一行 nn 个整数,即您还原出的数组 aa 中的元素。数与数之间用一个空格分隔开。

如果有多个这样的数列 aa 满足题意,只需要输出一组即可。

输入输出样例 #1

输入 #1

4
2 1 2 3 4 3 2 6 1 1 2 2 1 2 3 2

输出 #1

4 3 6 2

输入输出样例 #2

输入 #2

1
42

输出 #2

42 

输入输出样例 #3

输入 #3

2
1 1 1 1

输出 #3

1 1