Олимпиадный тренинг

Задача . C. Сделай равным по модулю


Вам дан массив из \(n\) целых неотрицательных чисел \(a_1, a_2, \ldots, a_n\). Можно выполнить следующую операцию: выбрать целое число \(x \geq 2\) и заменить каждое число массива остатком при делении этого числа на \(x\), то есть для всех \(1 \leq i \leq n\) заменить \(a_i\) на \(a_i \bmod x\).

Определите, можно ли сделать все элементы массива равными, применяя операцию ноль или более раз.

Входные данные

Входные данные состоят из нескольких наборов входных данных. В первой строке записано единственное целое число \(t\) (\(1 \leq t \leq 10^4\)) — количество наборов входных данных. Далее следуют описания наборов входных данных.

Первая строка каждого набора входных данных содержит целое число \(n\) (\(1 \leq n \leq 10^5\)) — длину массива.

Вторая строка каждого набора входных данных содержит \(n\) целых чисел \(a_1, a_2, \ldots, a_n\) (\(0 \leq a_i \leq 10^9\)), где \(a_i\)\(i\)-й элемент массива.

Гарантируется, что сумма значений \(n\) по всем наборам входных данных не превосходит \(2 \cdot 10^5\).

Выходные данные

Для каждого теста выведите строку с «YES», если вы можете сделать все элементы списка равными, применяя операцию. В противном случае выведите «NO».

Вы можете выводить «YES» и «NO» в любом регистре (например, строки «yEs», «yes», «Yes» и «YES» будут распознаны как положительный ответ).

Примечание

В первом наборе входных данных можно применить операцию с \(x = 3\) для получения массива \([2, 2, 0, 2]\), а затем применить операцию с \(x = 2\) для получения \([0, 0, 0, 0]\).

Во втором наборе входных данных все числа уже равны.

В четвертом наборе входных данных операция с \(x = 4\) приводит к массиву \([1, 1, 1, 1]\).


Примеры
Входные данныеВыходные данные
1 4
4
2 5 6 8
3
1 1 1
5
4 1 7 0 8
4
5 9 17 5
YES
YES
NO
YES

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя