#CF1993C. Light Switches

Light Switches

电灯开关

时间限制:2 秒
空间限制:256 MB

有一间公寓,包含 nn 个房间,初始时所有灯都是熄灭的。

为了控制这些房间的灯,主人决定在每个房间安装芯片,每个房间恰好安装一个芯片,且芯片安装的时间各不相同。具体来说,安装时间由数组 a1,a2,,ana_1, a_2, \dots, a_n 表示,其中 aia_i 是第 ii 个房间安装芯片的时刻(单位:分钟)。

芯片一旦安装,就会每隔 kk 分钟改变一次房间灯的状态 —— 它先让灯亮 kk 分钟,然后熄灭 kk 分钟,再点亮 kk 分钟,如此循环。换言之,第 ii 个房间的灯在时刻 ai,ai+k,ai+2k,ai+3k,a_i, a_i + k, a_i + 2k, a_i + 3k, \dots 发生状态切换。

问最早的时刻,使得所有房间的灯都同时亮着

输入格式

第一行包含一个整数 tt1t1041 \le t \le 10^4)—— 测试数据组数。

每组测试数据的第一行包含两个整数 nnkk1kn21051 \le k \le n \le 2 \cdot 10^5)—— 房间数和芯片的切换周期。

第二行包含 nn互不相同的整数 a1,a2,,ana_1, a_2, \dots, a_n1ai1091 \le a_i \le 10^9)—— 芯片的安装时刻。

保证所有测试数据的 nn 之和不超过 21052 \cdot 10^5

输出格式

对于每组测试数据,输出一个整数 —— 题目所求的最早时刻(分钟)。如果不存在所有房间灯都亮的时刻,输出 1-1

样例输入

9
4 4
2 3 4 5
4 3
2 3 4 5
4 3
3 4 8 9
3 3
6 2 1
1 1
1
7 5
14 34 6 25 46 7 17
6 5
40 80 99 60 90 50
6 5
64 40 50 68 70 10
2 1
1 1000000000

样例输出

5
-1
10
8
1
47
100
-1
-1
 

样例解释

  • 第一个样例:在时刻 55,所有灯都亮着,且没有任何芯片在此之前关闭灯。答案为 55
  • 第二个样例:由于 k=3k=3,第 11 盏灯亮的时刻为 2,3,4,8,9,10,14,2,3,4,8,9,10,14,\dots;第 44 盏灯亮的时刻为 5,6,7,11,12,13,17,5,6,7,11,12,13,17,\dots。两个序列没有公共时刻,因此永远不会同时亮。
  • 第三个样例:第 11 和第 22 盏灯在时刻 6677 会熄灭,但芯片会在时刻 991010 重新点亮它们。第 33 和第 44 盏灯在时刻 1010 也会亮,因此最早同时亮是时刻 1010