#P5582. 「SWTR-1」Escape

「SWTR-1」Escape

题目背景

有一天,当 Sunny\mathrm{Sunny} 闲逛的时候,发现了一个按钮。

好奇心驱使他按下了这个按钮。

突然间,天旋地转 \dots

题目描述

醒来之后,Sunny\mathrm{Sunny} 发现自己站在一个奇怪的地方。

这个地方有 nn 个平台,形成了一个环

这时,Ethan\mathrm{Ethan} 的声音响起:

“哈哈哈哈哈哈,恭喜你,你是第一个来到死亡之地的人。”

“正如你所看到的,这个地方有 nn 个平台,你现在站在 00 号平台上。”

“剩余平台按顺时针编号 1,2,3n11,2,3\dots n-1,也就是说,你身后的那个平台就是 n1n-1 号平台。”

“你每次能够顺时针ii 个平台,i[1,n]i\in[1,n],每次的 ii 可以不一样。”

“如果你能够经过所有平台(初始 00 号位置不算),那你就能逃出死亡之地了。”

(这里指的是一开始的 00 号位置不算经过,需要再次经过 00 号位置)

“不过,这样太简单了,我会给你一些数 aja_j,表示你不能一次顺时针跳 aja_j 个平台。”

“还有,你必须要用最少的跳跃次数完成我的任务。”

“如果你不能满足我的上面两个要求,所有平台就会消失,你将会掉入下面的岩浆之中。”

现在,Sunny\mathrm{Sunny} 想知道他是否可能逃出这个地方。

如果不行,输出-1,否则输出他最少所需的跳跃次数。

因为 Sunny\mathrm{Sunny} 觉得死亡之地实在是太有趣了,所以他决定多玩几次,多组数据

输入格式

第一行,一个正整数 TT,代表数据组数。

接下来 2×T2\times T 行,共 TT 组数据:

2×i12\times i-1 行,两个整数 n,kn,kkk 代表该组数据 aja_j 的个数。

2×i2\times i 行,kk 个数,第 jj 个数表示 aja_j

输出格式

TT 行,第 ii 行表示第 ii 组数据的输出。

3
5 4
1 2 3 4
5 4
1 2 4 5
6 3
1 3 5
-1
5
-1

提示


样例说明

第一组数据:

Sunny\mathrm{Sunny} 每次只能顺时针跳 55 个平台,易知不可能完成。

第二组数据:

Sunny\mathrm{Sunny} 每次只能顺时针跳 33 个平台,跳 55 次即可。


数据范围与约定

0kn106,1n0\leq k\leq n\leq 10^6,1\leq n

保证 ni3106,ajn\sum{n_i}\leq 3*10^6,a_j\leq n,且互不相同

测试点 1:5%,n=11:5\%,n=1

测试点 2:5%,n52:5\%,n\leq5

测试点 3:10%,n153:10\%,n\leq15

测试点 4:15%,n3004:15\%,n\leq300

测试点 5:25%,n50005:25\%,n\leq5000

测试点 6:40%,n1066:40\%,n\leq10^6


梦醒了……