【题目描述】原根(root)
给定一个整数n,求它的所有原根。 为了减小输出量,给出输出参数d,设n的所有原根有c 个,从小到大分别为g1,…,gc,你只需要依次输出gd,g2d,…,g⌊c/d⌋×d。
第一行为一个整数T(1≤T≤10),表示测试数据组数。 接下来T行,每行两个整数n和d(2≤n≤10^6,1≤d≤200),表示一组询问数据。
对于每组数据: 第一行输出一个整数c,表示n的原根个数,第二行输出⌊c/d⌋个数,按照题目描述中要求输出,保证输出的数的总个数不超过10^5。 注意:即使⌊c/d⌋=0,也需要输出一个空行。
6 2 1 4 1 25 2 36 1 9 6 18 1
1 1 1 3 8 3 12 17 23 0 2 2 5 11
【样例说明】 对于第1,2,4,6组数据,给出的n的所有原根都出现在输出中。 对于第3组数据,25的原根集合为{2,3,8,12,13,17,22,23}。 对于第5组数据,9的原根集合为{2,5}。