CF1656B Subtract Operation

Description

You are given a list of $ n $ integers. You can perform the following operation: you choose an element $ x $ from the list, erase $ x $ from the list, and subtract the value of $ x $ from all the remaining elements. Thus, in one operation, the length of the list is decreased by exactly $ 1 $ . Given an integer $ k $ ( $ k>0 $ ), find if there is some sequence of $ n-1 $ operations such that, after applying the operations, the only remaining element of the list is equal to $ k $ .

Input Format

The input consists of multiple test cases. The first line contains a single integer $ t $ ( $ 1 \leq t \leq 10^4 $ ) — the number of test cases. Description of the test cases follows. The first line of each test case contains two integers $ n $ and $ k $ ( $ 2 \leq n \leq 2\cdot 10^5 $ , $ 1 \leq k \leq 10^9 $ ), the number of integers in the list, and the target value, respectively. The second line of each test case contains the $ n $ integers of the list $ a_1, a_2, \ldots, a_n $ ( $ -10^9 \leq a_i \leq 10^9 $ ). It is guaranteed that the sum of $ n $ over all test cases is not greater that $ 2 \cdot 10^5 $ .

Output Format

For each test case, print YES if you can achieve $ k $ with a sequence of $ n-1 $ operations. Otherwise, print NO. You may print each letter in any case (for example, "YES", "Yes", "yes", "yEs" will all be recognized as a positive answer).

Explanation/Hint

In the first example we have the list $ \{4, 2, 2, 7\} $ , and we have the target $ k = 5 $ . One way to achieve it is the following: first we choose the third element, obtaining the list $ \{2, 0, 5\} $ . Next we choose the first element, obtaining the list $ \{-2, 3\} $ . Finally, we choose the first element, obtaining the list $ \{5\} $ .