Phép toán trừ

Điểm số: 1

Giới hạn thời gian: 1s

Giới hạn bộ nhớ: 512 MB

Người đăng: ICTU

Để giúp bạn Tuấn vui vẻ hơn sau những giờ học tập căng thẳng, bạn Hoàng “rất tâm lí” đã tới và đố Tuấn một bài toán: Hoàng viết cho Tuấn một danh sách gồm n số nguyên. Tuấn có thể thực hiện thao tác sau: Chọn một phần tử x từ danh sách, xóa x khỏi danh sách và trừ giá trị của x khỏi tất cả các phần tử còn lại. Với mỗi thao tác như vậy, độ dài của danh sách giảm đi 1.

Cho số nguyên k (k > 0), hãy tìm xem có dãy n - 1 nào đó sao cho sau khi áp dụng các phép toán, phần tử còn lại duy nhất của danh sách bằng k. Các bạn giúp Tuấn giải quyết  bài toán này nhé!

Input:

  • Dòng đầu tiên chứa một số nguyên T (1 <= T <= 104) - số lượng test.
    • Sau đây là mô tả các trường hợp: Dòng đầu tiên của mỗi trường hợp chứa hai số nguyên n và k (2 <= n <= 2 x 105, 1 <= k <= 109), số lượng các số nguyên trong danh sách và giá trị đích, tương ứng.
    • Dòng thứ hai của mỗi trường hợp kiểm tra chứa n số nguyên trong danh sách a1, a2,…, an (− 10<= ai <= 109).
  • Đảm bảo rằng tổng của n trên tất cả các test không lớn hơn 2 x 105.

Output:

Đối với mỗi trường hợp thử nghiệm, in YES nếu bạn có thể đạt được k với chuỗi n-1 phép toán. Nếu không, hãy in NO.

Ví dụ:

INPUT

OUTPUT

4

4 5

4 2 2 7

5 4

1 9 1 3 4

2 17

17 0

2 17

18 18

YES

NO

YES

NO

 

Giải thích:

Trong ví dụ đầu tiên, chúng ta có danh sách {4,2,2,7} và chúng ta có k = 5. Có một cách để đạt được điều đó như sau: đầu tiên chúng ta chọn phần tử thứ ba, lấy danh sách {2,0,5}. Tiếp theo, chúng ta chọn phần tử đầu tiên, thu được danh sách {−2,3}. Cuối cùng, chúng ta chọn phần tử đầu tiên, lấy danh sách {5}.