最大公约数
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

 很喜欢数论。

一天,他拿到了 n 个数  并且算出了他们两两间(包括自己和自己)的 (最大公约数),即所有的   ,一共  个数。

但是万恶的  学长抹去了这 n 个数并随机打乱了这  ,现在  想让你帮他还原出这 n 个数。

将你还原的 n 个数从小到大输出。

输入描述:

第一行一个正整数  表示开始  拿到的数的数量。

第二行  个数  表示这些数两两的  ,注意我们并不知道每个数是哪两个数的  。

输出描述:

一行从小到大 n 个数,表示你还原的答案。
示例1

输入

复制
3
2 1 1 1 1 3 2 2 4

输出

复制
2 3 4