#CF2236D. 全新鞑靼电视节目

全新鞑靼电视节目

题目描述

达比尔和叶戈尔对上一集带来的名声并不满足,于是他们决定再制作一档电视节目:两人在一个数组 aa 上,用他们最喜欢的整数 kk 玩他们最爱的游戏。

达比尔先手。在第一步中,可以选择并移除数组中的任意一个元素。设上一次选择的元素为 xx。那么在接下来的每一步(除第一步外),当前玩家必须从数组中选择一个满足 0yxk0 \leq y - x \leq k 的元素 yy,并将其从数组中移除。无法移动的玩家判负。

然而,这不仅仅是一场游戏,而是一场真正的表演赛——因此,鄂木斯克的头号明星阿尔谢尼(又名 MAKAN)再次受邀。作为嘉宾明星,阿尔谢尼被赋予在这场比赛中先手的机会,即代替达比尔进行游戏的第一步。但阿尔谢尼实际上是叶戈尔的粉丝,所以他希望自己的第一步能确保叶戈尔拥有一个必胜策略,无论达比尔如何应对。

判断阿尔谢尼能否替达比尔走出第一步,使得无论达比尔如何操作,叶戈尔都获胜。

输入格式

每个测试包含多个测试用例。第一行包含一个整数 tt1t1041 \leq t \leq 10^4)——表示测试用例的数量。

每个测试用例的第一行包含两个整数 nnkk1n,k21051 \leq n, k \leq 2 \cdot 10^5)——表示数组的长度以及 Dabir 和 Egor 最喜欢的整数。

第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \ldots, a_n1ain1 \leq a_i \leq n)。

保证所有测试用例中 nn 的总和不超过 21052 \cdot 10^5

输出格式

对于每个测试用例,如果存在一个第一步使得双方在最优策略下Egor获胜,则输出"YES",否则输出"NO"。

你可以以任意大小写输出"YES"和"NO"(例如,"yES"、"yes"和"Yes"都将被接受)。

样例

7
5 1
3 3 3 3 3
3 1
1 1 2
2 2
2 1
4 1
3 3 3 3
4 3
2 2 2 1
4 1
1 3 1 1
5 1
5 1 5 1 5
NO
YES
YES
YES
YES
NO
YES

样例解释

在第一个示例中,唯一可能的选择是整数 33。之后,数组变为 [3,3,3,33, 3, 3, 3]。接着 Egor 移动,然后是 Dabir,以此类推。Dabir 将取走最后一个 33,因此 Arseniy 无法选择让 Egor 获胜的第一步。

在第二个示例中,Arseniy 可以选择整数 11 作为第一步。然后 Egor 会选择整数 22,此时 Dabir 没有有效的移动可执行,因此 Egor 获胜。