#5092. 数列
数列
题目描述
小慧最近学习了质数和合数,她对一个有n个数的数列a按下述方法生成了数列b:
1.把数列a的每个数全部放到数列b中;
2.对于数列a的每一个数ai,如果ai是质数,则把正整数中的第ai个质数放到数列b中,如果ai是合数,则把ai的最大因子(除了ai本身)放到数列b中;
3.把数列b中的2*n个数打乱顺序。
现在小慧给出了数列b的2*n个整数bi,问原来的数列a是哪些数?
输入格式
第一行,一个整数n,表示原数列a共有n个正整数。
第二行,2*n个整数,表示按规则生成的数列b。
**数据范围:**
对于50%的数据,1<=n<=1000,2<=ai<=1000,2<=bi<=7919(即第1000个质数)。
对于100%的数据,1<=n<=100000,2<=ai<=100000,2<=bi<=1299709(即第100000个质数)。
输出格式
按从小到大的顺序输出原数列a的n个整数。
样例
输入
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,符合输入的b数组。
来源
南海区赛 2024南海小学 欧拉筛 二分查找