#716. 互质cixi

互质cixi

Background

Special for beginners, ^_^

Description

小明总是陶醉在数论的海洋里,他知道:数论是数学的皇后。而数论的核心,就是质数!

但是现在小明想研究互质问题,a和b互质,即2个数的最大公约数是1,表示为gcd(a,b)=1

现在,有N个正整数,从a1a_1ana_n,你要找出在1到M之间,有多少个整数k能够满足对于任意aia_i,都有:

gcd(aia_i,k)= 1

小明觉得这是一个很神奇的东东,他有点不会做。他希望有一个数论高手可以来帮助他,你是小明心目中的数论高手么?来解决这个问题吧!

Format

Input

输入的第一行是2 个正整数 N 和 M。

输入的第二行是N 个正整数 a1,a2,...,aNa_1, a_2, ..., a_N,空格隔开。

Output

输出的第一行表示满足条件的 k 的个数。

接下来若干个,每行一个满足条件的 k,从小到大的顺序。

Samples

3 12
6 1 5
3
1
7
11
3 20
3 5 8
6
1
7
11
13
17
19
3 15
3 7 9
8
1
2
4
5
8
10
11
13

Limitation

1s, 1024KiB for each test case.

Hint

对于所有的数据,保证1N2×1051\leq N\leq2\times10^51M5×1061\leq M\leq5\times10^61ai5×1061\leq a_i\leq5\times10^6

Source

慈溪复赛2021