现有N个数c1,c2,...,cN。对于每个数求有多少个有序二元组(i,j)满足以下式子
ci * cj mod P=ck(i,j,k可想等)
其中P为一给定质数。对于每个k对应的答案记为cnt[k],请你将每两个相邻的答案相加,这样答案总个数每次减少1,当答案个数为1时结束(结果对1e9+7取模)。为了感谢wjh、xxb、lmb、cly、ckx、yzj出了一堆简单题,请将他们名字缩写(小写)合并后去重并输出字典序第k大,k为所得结果乘上2333333后取模6666666的结果。
第一行输入一个组数t(t ≤ 5)。
对于每组数据第一行有两个正整数N,P(1 ≤ N ≤ 100000,2 ≤ P ≤ 100000), P为质数。
第二行N个非负整数c1,c2,...,cN(0 ≤ ci ≤ 1e9)。
输出共一行,为对应答案的字典序排列(答案为0输出-1)。
2
7 3
1 2 3 4 5 6 7
5 7
1 0 2 3 0
ckybhmwzxjl
byjlhwzmckx
例如答案是1 2 3 4 5那么你应该经过以下变化变成一个答案
1 2 3 4 5
3 5 7 9
8 12 16
20 28
48