问题4407--简单题*10086

4407: 简单题*10086

[命题人 : ]
时间限制 : 10.000 sec  内存限制 : 128 MB

题目描述

 现有N个数c1,c2,...,cN。对于每个数求有多少个有序二元组(i,j)满足以下式子

                        ci * cj mod P=cki,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)。

样例输入 Copy

2
7 3
1 2 3 4 5 6 7
5 7
1 0 2 3 0

样例输出 Copy

ckybhmwzxjl
byjlhwzmckx

提示

例如答案是1 2 3 4 5那么你应该经过以下变化变成一个答案

1 2 3 4 5

3 5 7 9

8 12 16

20 28

48

来源/分类