math

Description

沉迷于数学的小G最近口胡出一种数据生成方法:
开始,小G有一个长度为\( n \)的正整数序列,序列中的第\( i \)个数为 \( a_i ∈ [1, 10^9] \)。
然后,小G会通过某种方式生成一个长度为\( n \)的非负整数序列,序列中的第\( i \)个数为\(𝑏_𝑖 ∈ [0, +∞) \)。
最终,小G会得到一个整数\[ 𝑥 = (\sum\nolimits_{i=1}^{n} a_ib_i) \; 𝑚𝑜𝑑 \; 𝑘 \]
小G想知道这种数据生成方法可以生成哪些不同的非负整数。

Format

Input

第一行有\( 2 \)个整数 \(n, k\)。
第二行有\( n \)个正整数 \(a_i\)。

Output

第一行有一个整数\( s \),表示可以生成的非负整数的个数。

第二行有\( s \)个可以生成的非负整数。

Sample 1

Input

2 8
4 12 

Output

2
0 4 

Limitation

1s, 512MiB for each test case.

Hint

样例解释

有无穷种方案可以得到\( x=0 \),
例如:\(b_1=0\)、\(b_2=0\),\(b_1=2\)、\(b_2=0\),\(b_1=1\)、\(b_2=1\) 等等。有无穷种方案可以得到 \(x=4\),
例如:

\(b_1=1\)、\(b_2=0\),\(b_1=1\)、\(b_2=2\),\(b_1=3\)、\(b_2=4\) 等等。
更多输入输出样例请见选手下发文件夹。

数据范围与约定

对于所有数据,\(1≤ n ≤ 5×10^5\),\(1 ≤ k ≤ 10^6\),\(1 ≤ a_i ≤ 10^9\)。

测试点编号 \(n\) \(k\)
1~4 \(≤10\) \(≤10\)
5~6 \(=1\) \(≤10^6\)
7~10 \(≤10^2\) \(≤10^2\)
11~14 \(≤10^3\) \(≤10^3\)
15~16 \(≤10^4\) \(≤10^4\)
17~20 \(≤5×10^5\) \(≤10^6\)

Source

CSP2019第二轮测试模拟题(一)

信息

ID
1010
难度
9
分类
(无)
标签
(无)
递交数
1
已通过
1
通过率
100%
上传者