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

Задача . B. Lunatic Never Content


У вас есть массив \(a\), состоящий из \(n\) неотрицательных целых чисел. Определим \(f(a, x) = [a_1 \bmod x, a_2 \bmod x, \dots, a_n \bmod x]\) для некоторого положительного целого \(x\). Найдите максимальное \(x\) такое, что \(f(a, x)\) является палиндромом.

Здесь \(a \bmod x\) — целочисленный остаток от деления \(a\) на \(x\).

Массив называется палиндромом, если он читается одинаково в обе стороны. Более формально, массив \(a\) длины \(n\) является палиндромом, если для любого \(i\) (\(1 \leq i \leq n\)) выполняется \(a_i = a_{n - i + 1}\).

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

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

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

Вторая строка каждого набора входных данных содержит \(n\) целых чисел \(a_i\) (\(0 \leq a_i \leq 10^9\)).

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

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

Для каждого набора входных данных выведите максимальное число \(x\) такое, что \(f(a, x)\) является палиндромом. Если \(x\) может быть бесконечно большим, вместо этого выведите число \(0\).

Примечание

В первом примере \(f(a, x = 1) = [0, 0]\) является палиндромом.

Во втором примере \(f(a, x = 2) = [1, 0, 1, 0, 0, 1, 0, 1]\) является палиндромом.

Можно показать, что в первых двух примерах никакой \(x\) больше не будет удовлетворять условию.

В третьем примере \(f(a, x) = [0]\) для любого \(x\), так что мы можем выбрать его бесконечно большим, откуда ответ равен \(0\).


Примеры
Входные данныеВыходные данные
1 4
2
1 2
8
3 0 1 2 0 3 2 1
1
0
3
100 1 1000000000
1
2
0
999999900

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

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