Сьогодні день народження Сакурако, тому ви вирішили зробити гарний подарунок. Ви вважаєте, що найкращий подарунок — це масив із однакових цілих чисел. На жаль, ви не змогли знайти такий масив. Однак, ви розумні й можете змінювати будь-який елемент масиву рівно на за одну операцію. Іншими словами, якщо у вас є масив , ви можете вибрати ціле число (1 \leq i \leq n) і замінити a_i на a_i - k або a_i + k. Ви хочете зробити Сакурако щасливою, тому потрібно визначити, чи можна зробити всі елементи масиву однаковими.
Наприклад, якщо у вас є масив [10, 16, 12, 10, 20] і k = 2, ви можете зробити всі елементи рівними . Для цього додайте до першого та четвертого елементів (a_1 + k = 10 + 2 = 12), відніміть від другого елемента двічі (a_2 - 2 \cdot k = 16 - 4 = 12), не змінюйте третій елемент, та відніміть від п'ятого елемента чотири рази (a_5 - 4 \cdot k = 20 - 8 = 12).
Перший рядок містить одне ціле число (1 \leq t \leq 10^5) — кількість масивів.
Кожен масив описується двома рядками.
Перший рядок містить два цілих числа і (1 \leq n \leq 2 \cdot 10^5, 1 \leq k \leq 10^9).
Другий рядок містить цілих чисел a_1, \ldots, a_n (1 \leq a_i \leq 10^9).
Гарантується, що сума по всіх тестах не перевищує 2 \cdot 10^5.
Для кожного масиву виведіть "YES", якщо можна зробити всі елементи однаковими, або "NO" інакше.
Приклад
Перший приклад пояснено вище.
У другому прикладі відповідь — "YES", адже можна зробити всі числа рівними .
У третьому прикладі відповідь — "NO", адже можна довести, що п'ятий елемент не вдасться зробити рівним жодному іншому елементу масиву після будь-якої кількості операцій.
(3 бали): k = 2;
(8 балів): a_i \leq 100 для всіх масивів;
(18 балів): n \leq 1000 для всіх масивів; гарантовано, що сума по всіх тестах не перевищує .
(21 бал): без додаткових обмежень.