G. 替换元素

传统 1000 ms 256 MiB
标准 IO
文本比较

题目描述

你有一个数组 a1,a2,,ana_1, a_2, \dots, a_n,所有 aia_i 都是正整数。

每一步你可以选择三个不同的下标 iijjkkiji \neq jiki \neq kjkj \neq k),并将 aja_jaka_k 的和赋值给 aia_i,即执行 ai=aj+aka_i = a_j + a_k

你能否通过上述操作任意多次(可以为零次),使得所有 aia_i 都小于等于 dd

输入格式

第一行包含一个整数 tt1t20001 \le t \le 2000),表示测试用例的数量。

每个测试用例的第一行包含两个整数 nndd3n1003 \le n \le 1001d1001 \le d \le 100),分别表示数组 aa 的元素个数和目标值 dd

每个测试用例的第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n1ai1001 \le a_i \le 100),表示数组 aa

输出格式

对于每个测试用例,如果可以通过上述操作使所有元素 aia_i 都小于等于 dd,输出 YES,否则输出 NO。

样例

输入 #1

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

输出 #1

NO
YES
YES

说明/提示

在第一个测试用例中,可以证明无法使所有 ai3a_i \le 3

在第二个测试用例中,所有 aia_i 已经都小于等于 d=4d = 4

在第三个测试用例中,例如可以选择 i=5i = 5j=1j = 1k=2k = 2,使 a5=a1+a2=2+1=3a_5 = a_1 + a_2 = 2 + 1 = 3,此时数组 aa 变为 [2,1,5,3,3][2, 1, 5, 3, 3]

之后可以令 a3=a5+a2=3+1=4a_3 = a_5 + a_2 = 3 + 1 = 4,数组变为 [2,1,4,3,3][2, 1, 4, 3, 3],此时所有元素都小于等于 d=4d = 4