Hoy es el cumpleaños de Sakurako, así que decidiste hacerle un buen regalo. Piensas que el mejor regalo será un arreglo de enteros iguales. Desafortunadamente, no pudiste encontrar tal arreglo. Sin embargo, eres inteligente y puedes cambiar cualquier elemento del arreglo exactamente en en una operación. En otras palabras, si tienes un arreglo , puedes escoger un entero (1 \leq i \leq n) y reemplazar a_i por a_i - k o a_i + k. Quieres hacer feliz a Sakurako, así que debes decidir si puedes hacer que todos los elementos del arreglo sean iguales.
Por ejemplo, si tienes el arreglo [10, 16, 12, 10, 20] y k = 2, puedes hacer que todos los elementos sean iguales a . Para hacer esto, suma al primer y cuarto elemento (a_1 + k = 10 + 2 = 12), resta al segundo elemento dos veces (a_2 - 2 \cdot k = 16 - 4 = 12), no cambies el tercer elemento y resta al quinto elemento cuatro veces (a_5 - 4 \cdot k = 20 - 8 = 12).
La primera línea contiene un entero (1 \leq t \leq 10^5): el número de arreglos.
Cada arreglo se describe en dos líneas.
La primera línea contiene dos enteros y (1 \leq n \leq 2 \cdot 10^5, 1 \leq k \leq 10^9).
La segunda línea contiene enteros a_1, \ldots, a_n (1 \leq a_i \leq 10^9).
Se garantiza que la suma de sobre todos los casos de prueba no excede 2 \cdot 10^5.
Para cada arreglo, imprime **"YES"** si puedes hacer que todos los elementos sean iguales, o **"NO"** en caso contrario.
Ejemplo
El primer ejemplo fue explicado arriba.
En el segundo ejemplo, la respuesta es **"YES"** porque puedes hacer que todos los números sean iguales a .
En el tercer ejemplo, la respuesta es **"NO"** porque se puede demostrar que el quinto elemento no puede ser igual a ningún otro elemento del arreglo después de cualquier cantidad de operaciones.
(3 puntos): k = 2;
(8 puntos): a_i \leq 100 para todos los arreglos;
(18 puntos): n \leq 1000 para todos los arreglos; se garantiza que la suma de sobre todos los casos de prueba no excede .
(21 puntos): sin restricciones adicionales.