#NH4752. NH.2024.小甲.06.数列

NH.2024.小甲.06.数列

题目描述

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

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

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

  3. 把数列 bb 中的 2n2*n 个数打乱顺序。

现在小慧给出了数列 bb2n2*n 个整数 bib_i,问原来的数列 aa 是哪些数?

输入格式

第一行,一个整数 nn,表示原数列 aa 共有 nn 个正整数。

第二行,2n2*n 个整数,表示按规则生成的数列 bb

输出格式

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

样例

3
3 5 2 3 2 4 
2 3 4

样例解释

2 是质数,第 2 个质数是 3 ,3 是质数,第 3 个质数是 5 ,4 是合数,其非本身的最大因子是 2,因此原数列 2 3 4 按规则变成数列 2 3 4 3 5 2,符合输入的 bb 数组。

数据范围

对于 50% 的数据,1n10001 \le n \le 10002ai10002 \le a_i \le 10002bi79192 \le b_i \le 7919(即第 10001000个质数)。

对于100% 的数据,1n1000001 \le n \le 1000002ai1000002 \le a_i \le 1000002bi12997092 \le b_i \le 1299709(即第 100000100000 个质数)。