时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述

很喜欢数论。
一天,他拿到了

个数

并且算出了他们两两间(包括自己和自己)的

(最大公约数),即所有的
(1%20%5Cle%20i%5Cle%20n%2C1%5Cle%20j%5Cle%20n))
,一共

个数。
但是万恶的

学长抹去了这

个数并随机打乱了这

个

,现在

想让你帮他还原出这

个数。
将你还原的

个数从小到大输出。
输入描述:
第一行一个正整数
)
表示开始

拿到的数的数量。
第二行
个数
表示这些数两两的
,注意我们并不知道每个数是哪两个数的
。
输出描述:
一行从小到大
个数,表示你还原的答案。