#2617. 互质(慈溪2021第3题)
互质(慈溪2021第3题)
Description
小明总是陶醉在数论的海洋里,他知道:数论是数学的皇后。而数论的核心,就是质数!但是现在小明想研究互质问题,a 和 b 互质,即 2 个数的最大公约数是 1,表示为 gcd(a, b) = 1。
现在,有 N 个正整数,从 a1 到 aN,你要找出在 1 到 M 之间,有多少个整数 k 能够满足对于任意 ai,都有:
gcd(ai , k) = 1
小明觉得这是一个很神奇的东东,他有点不会做。他希望有一个数论高手可以来帮助他,你是小明心目中的数论高手么?来解决这个问题吧!
Input Format
输入的第一行是 2 个正整数 N 和 M。输入的第二行是 N 个正整数 a1, a2, ..., aN,空格隔开。
Output Format
输出的第一行表示满足条件的 k 的个数。接下来若干个,每行一个满足条件的 k,从小到大的顺序。由于输出数据较多,请使用printf进行输出。
3 12
6 1 5
3
1
7
11
Hint
显然 1 和所有正整数都是互质的,对于整数 7,我们知道 gcd(6, 7) = 1, gcd(1, 7) =1, gcd(5, 7) = 1,所以 7 也是满足条件的。另外 gcd(6, 11) = 1, gcd(1, 11) = 1, gcd(5, 11) =1,所以 11 也是满足条件的。
【输入输出样例 2】
prime.in |
prime.out |
3 20 3 5 8 |
6 1 7 11 13 17 19 |
【输入输出样例 3】
prime.in |
prime.out |
3 15 3 7 9 |
8 1 2 4 5 8 10 11 13 |
对于所有的数据,保证 1 ≤ N ≤ 10^5, 1 ≤ M ≤ 10^6, 1 ≤ ai ≤ 10^6。