#CF2040A. 除法游戏

除法游戏

A. 除法游戏

单次测试时限:1 秒
内存限制:256 兆字节

你得到一个整数数组 a1,a2,,ana_1, a_2, \dots, a_n,长度为 nn,以及一个整数 kk

两个玩家在玩一个游戏。第一个玩家选择一个下标 1in1 \le i \le n。然后第二个玩家选择一个不同的下标 1jn,ij1 \le j \le n, i \neq j。如果 aiaj|a_i - a_j| 不能被 kk 整除,则第一个玩家获胜;否则,第二个玩家获胜。

我们扮演第一个玩家。请判断是否存在获胜的可能,如果存在,应该选择哪个下标 ii

一个数 xx 的绝对值记为 x|x|,如果 x0x \ge 0 则等于 xx,否则等于 x-x


输入

每个测试包含多个测试用例。第一行输入一个整数 tt1t1001 \le t \le 100)—— 测试用例的数量。接下来是每个测试用例的描述。

每个测试用例的第一行包含两个整数 nnkk1n1001 \le n \le 1001k1001 \le k \le 100)—— 数组的长度和给定的数 kk

每个测试用例的第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n1ai1001 \le a_i \le 100)—— 数组中的元素。


输出

对于每个测试用例,如果第一个玩家无法获胜,则输出 "NO"(不带引号)。

否则,输出 "YES"(不带引号),并在下一行输出一个合适的下标 1in1 \le i \le n。如果有多个解,输出任意一个即可。

你可以以任意大小写形式输出每个字母(小写或大写)。例如,"yEs""yes""Yes""YES" 均被视为肯定答案。


示例

输入

7
3 2
1 2 3
4 2
1 2 4 5
5 3
10 7 3 4 5
5 3
1 31 15 55 36
2 1
17 17
2 2
17 18
1 3
6

输出

YES
2
NO
YES
3
NO
NO
YES
2
YES
1

说明

在第一个测试用例中,第一个玩家可以选择 a2=2a_2 = 2。那么:

  • 如果第二个玩家选择 a1=1a_1 = 1,差值为 21=1|2 - 1| = 1,不能被 k=2k = 2 整除。
  • 如果第二个玩家选择 a3=3a_3 = 3,差值为 23=1|2 - 3| = 1,不能被 k=2k = 2 整除。

在第二个测试用例中:

  • 如果第一个玩家选择 a1=1a_1 = 1,第二个玩家选择 a4=5a_4 = 5,差值为 15=4|1 - 5| = 4,能被 k=2k = 2 整除。
  • 如果第一个玩家选择 a2=2a_2 = 2,第二个玩家选择 a3=4a_3 = 4,差值为 24=2|2 - 4| = 2,能被 k=2k = 2 整除。
  • 如果第一个玩家选择 a3=4a_3 = 4,第二个玩家选择 a2=2a_2 = 2,差值为 42=2|4 - 2| = 2,能被 k=2k = 2 整除。
  • 如果第一个玩家选择 a4=5a_4 = 5,第二个玩家选择 a1=1a_1 = 1,差值为 51=4|5 - 1| = 4,能被 k=2k = 2 整除。

无论如何,第二个玩家都会获胜。