九条可怜是一个有超能力的女孩子,但她的超能力只能作用于一些奇怪的事情上。
有一天,可怜得到了一个序列 $a_1,a_2,\cdots,a_n$, 她可以对这个序列使用一次超能力:选择一个区间 $[l,r](1\leq l\leq r\leq n)$ 和一个整数 $k\in [-10^9,10^9]$ ,将区间内的所有数 $a_l,a_{l+1}, \cdots ,a_r$ 加上 $k$。
九条可怜很喜欢长得比较一致的序列,因此她希望最终的序列众数的出现次数尽可能多。给出序列 $a$ ,你需要输出最终序列的众数出现次数的最大值,并输出这个众数的所有可能取值。注意对于一个序列,众数的取值可能不止一个。
输入格式
输入包含多组数据,第一行输入数据组数 $T$。
对于接下来的每组数据,第一行输入序列长度 $n$ ,第二行包含 $n$ 个整数 $a_1,a_2,\cdots,a_n$。
输出格式
对于每组数据,第一行输出最终序列众数的出现次数的最大值。
假设这个众数有 $k$ 种不同的可能取值,则接下来 $k$ 行,从小到大输出这些取值。
样例一
input
4 5 1 2 3 2 1 5 1 1 3 1 1 6 2 4 2 4 8 8 5 1 2 3 4 5
output
4 1 5 1 4 2 4 8 2 1 2 3 4 5
样例二
见附件下载。
限制与约定
对于所有测试点: $1\leq T\leq 20,2\leq n\leq 200\,000,1\leq a_i\leq 10^9$,保证 $\sum n\leq 500\,000$ ,且 $a_i$ 不全相等。
每个测试点的具体限制见下表:
测试点编号 | $\sum n \leq$ | $n\leq$ | 特殊限制 |
---|---|---|---|
$1\sim 4$ | $3\,000$ | $300$ | 无 |
$5\sim 8$ | $500\,000$ | $200\,000$ | $a_i$ 只有 5 种取值 |
$9\sim 10$ | $200\,000$ | $50\,000$ | 无 |
$11\sim 20$ | $500\,000$ | $200\,000$ | 无 |
时间限制:$3\texttt{s}$
空间限制:$1024\texttt{MB}$