你有一个数组 a1,a2,…,an,所有 ai 都是正整数。
每一步你可以选择三个不同的下标 i、j 和 k(i=j,i=k,j=k),并将 aj 和 ak 的和赋值给 ai,即执行 ai=aj+ak。
你能否通过上述操作任意多次(可以为零次),使得所有 ai 都小于等于 d?
第一行包含一个整数 t(1≤t≤2000),表示测试用例的数量。
每个测试用例的第一行包含两个整数 n 和 d(3≤n≤100,1≤d≤100),分别表示数组 a 的元素个数和目标值 d。
每个测试用例的第二行包含 n 个整数 a1,a2,…,an(1≤ai≤100),表示数组 a。
对于每个测试用例,如果可以通过上述操作使所有元素 ai 都小于等于 d,输出 YES,否则输出 NO。
3
5 3
2 3 2 5 4
3 4
2 4 4
5 4
2 1 5 3 6
NO
YES
YES
在第一个测试用例中,可以证明无法使所有 ai≤3。
在第二个测试用例中,所有 ai 已经都小于等于 d=4。
在第三个测试用例中,例如可以选择 i=5,j=1,k=2,使 a5=a1+a2=2+1=3,此时数组 a 变为 [2,1,5,3,3]。
之后可以令 a3=a5+a2=3+1=4,数组变为 [2,1,4,3,3],此时所有元素都小于等于 d=4。