给定一个长为 $n$ 的数组 $a_1,a_2,\dots, a_n$,其中 $0\leq a_i \leq m$。你需要找到所有整数 $k\ge 1$,使得可重集 ${a_1 \bmod k,a_2 \bmod k,\dots a_n \bmod k}$ 中刚好有 $c$ 种不同的数,且每种数刚好出现 $\frac{n}{c}$ 次。如果存在无数个满足条件的 $k$,输出 $-1$。
第一行包含一个整数 $T$ ($1\leq T \leq 10^4$),表示一共有 $T$ 组测试数据。
对于每组测试数据:
第一行为三个整数 $n,m,c$ ($1\leq n,m\leq 5\cdot 10^5,1\leq c\leq \min(n,100)$),表示数组 $a$ 中数的个数,数组 $a$ 中数的上限和取模后数组 $a$ 中不同数的种类数。保证 $\frac{n}{c}$ 是一个整数。
第二行为 $n$ 个整数 $a_1,a_2,\dots a_n$ ($0\leq a_i \leq m$),表示数组 $a$。
保证所有测试数据的 $n$ 之和不超过 $2 \cdot 10^6$,保证所有测试数据的 $m$ 之和不超过 $2\cdot 10^6$。
对于每组测试数据,如果存在无数个满足条件的 $k$,输出 $-1$。否则,先输出一个正整数 $cnt$,表示满足条件的 $k$ 的总数,然后在同一行中按从小到大的顺序输出 $cnt$ 个数,表示所有满足条件的 $k$。
5 6 3 3 0 0 3 3 3 3 6 3 2 0 0 0 3 3 3 6 100 3 18 91 32 43 14 57 4 8 2 2 7 1 8 10 10 5 3 1 4 1 5 9 2 6 5 3
\n · · \n · · · · · \n · · \n · · · · · \n · · \n · · · · · \n · · \n · · · \n · · \n · · · · · · · · · \n
0 -1 2 3 7 3 2 3 6 0
\n \n · · \n · · · \n \n