#1133. 数列

数列

题目描述

小慧最近学习了质数和合数,她对一个有 nn 个数的数列 aa 按下述方法生成了数列 bb:

1.把数列 aa 的每个数全部放到数列 bb 中;

2.对于数列 aa 的每一个数 aia_i ,如果 aia_i ​是质数,则把正整数中的第 ai个质数放到数列 b 中,如果ai ​是合数,则把 a i的最大因子(除了a i本身)放到数列 b 中;

3.把数列 b 中的 2∗n 个数打乱顺序。现在小慧给出了数列 b 的 2∗n 个整数 bi,问原来的数列 a 是哪些数?

输入描述

第一行,一个整数 n,表示原数列 a 共有 n 个正整数。 第二行,2∗n 个整数,表示按规则生成的数列 b。

输出描述

按从小到大的顺序输出原数列 a 的 n 个整数。

用例输入 1

3
3 5 2 3 2 4

用例输出 1

2 3 4

提示

样例解释: 22 是质数,第 22 个质数是 3333 是质数,第 33 个质数是 5544 是合数,其非本身的最大因子是 22,因此原数列 2342 3 4按规则变成数列 2343522 3 4 3 5 2,符合输入的 bb 数组。

数据范围:

对于 50% 的数据,1<=n<=10002<=ai<=10002<=bi<=7919(即第1000个质数)1<=n<=1000,2<=ai<=1000,2<=bi<=7919(即第1000个质数)。

对于 100% 的数据,$1<=n<=100000,2<=ai<=100000,2<=bi<=1299709(即第100000个质数)。$