B. Lunatic Never Content
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

У вас есть массив $$$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$$$.

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

В первом примере $$$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$$$.