编程题
小明的游戏3
### 题目描述
蓝桥公司给他们的员工准备了丰厚的奖金,公司主管小明并不希望发太多的奖金,他想把奖金留给智慧的人,于是他决定跟每一个员工玩一个游戏,规则如下:
1. 桌面上一共有 $n$ 堆一元钱
2. 双方轮流行动,由小明先行动,每次行动从某一堆钱中拿走不超过 $k$ 元(至少一元钱),取走最后一元钱的人获胜。
请问员工们能拿到奖金吗?
### 输入描述
第一行为一个整数 $T$,表示测试数据数量。
每个测试用例包含俩行。第一行为俩个整数 $n$ 和 $k$ , 第二行包括 $n$ 个整数 $a_1, a_2 ... a_n$ 表示第 $i$ 堆有 $a_i$ 元。
($1 \leq T, n \leq 10^5, 1 \leq k,a_i \leq 10^9$ )
保证所有测试用例的 $n$ 的和不超过 $2 \times 10^5$。
### 输出描述
如果员工能拿到奖金输出 `YES` , 否则输出 `NO`。
### 输入输出样例
#### 示例 1
>输入
```txt
3
2 1
1 1
2 1
2 2
3 2
2 2 1
```
>输出
```txt
NO
NO
YES
```