为了完成数论作业,Busy Beaver 得到了 $T$ 对大素数 $p$ 和整数 $x$。对于每一对,Busy Beaver 需要从集合 $\{1, \frac{1}{2}, \frac{1}{3}, \dots, \frac{1}{5000}\}$ 中找到一个大小不超过 $S$ 的子集,使得其元素之和模 $p$ 等于 $x$。你能帮他找到这样的子集吗?
有理数 $\frac{a}{b}$ 模 $p$ 等于 $x$ 的定义为 $a \equiv bx \pmod p$。
输入格式
第一行包含两个整数 $T$ 和 $S$ ($1 \le T \le 1000, 150 \le S \le 5000$),分别表示测试用例的数量和子集的最大大小。
接下来的 $T$ 行,每行包含两个整数 $p$ 和 $x$ ($10^8 \le p \le 10^{18}, 0 \le x \le p - 1$),其中 $p$ 为素数。
输出格式
对于每个测试用例,输出一行表示答案。首先输出一个整数 $k$ ($0 \le k \le S$),表示子集的大小,随后输出 $k$ 个不同的整数 $a_1, \dots, a_k$,按升序排列 ($1 \le a_1 < a_2 < \dots < a_k \le 5000$)。
你的输出应满足 $\frac{1}{a_1} + \frac{1}{a_2} + \dots + \frac{1}{a_k} \equiv x \pmod p$。
可以证明,对于所有满足输入约束的 $p$ 和 $x$,这样的子集总是存在的。
子任务
- (10 分) $T \le 10, p \le 10^9$。
- (20 分) $T \le 10, p \le 10^{15}, S = 5000$。
- (30 分) $S = 5000$。
- (40 分) 无附加约束。
样例
样例输入 1
4 150 998244353 0 1000000007 1 1000000007 500000004 1000000007 642833014
样例输出 1
0 1 1 1 2 3 1 19 2025
说明
在第一个测试用例中,空子集的和模 $p = 998244353$ 等于 $x = 0$。
在第二个测试用例中,$\frac{1}{1} \equiv 1 \pmod{1000000007}$。
在第三个测试用例中,$\frac{1}{2} \equiv 500000004 \pmod{1000000007}$。
在第四个测试用例中,$\frac{1}{1} + \frac{1}{19} + \frac{1}{2025} \equiv 642833014 \pmod{1000000007}$。