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

Задача . D1. Все одинаковые


Эта задача является упрощённой версией задачи D2, но при этом имеет существенные отличия, поэтому прочитайте условие полностью.

У Поликарпа есть массив из \(n\) (\(n\) — чётное число) целых чисел \(a_1, a_2, \dots, a_n\). Поликарп задумал положительное целое число \(k\). После этого Поликарп стал совершать над массивом операции следующего вида: взять произвольный индекс \(i\) (\(1 \le i \le n\)) и уменьшить число \(a_i\) на \(k\).

После того, как Поликарп совершил некоторое (возможно, нулевое) количество таких операций, оказалось, что все числа в массиве стали одинаковыми. Найдите максимальное \(k\), при котором такая ситуация возможна, или выведите \(-1\), если такое число может быть сколь угодно большим.

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

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

Каждый набор входных данных состоит из двух строк. Первая строка содержит одно целое чётное число \(n\) (\(4 \le n \le 40\)) (\(n\) — чётное число). Вторая строка содержит \(n\) целых чисел \(a_1, a_2, \dots a_n\) (\(-10^6 \le a_i \le 10^6\)).

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

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

Для каждого набора входных данных в отдельной строке выведите одно целое число \(k\) (\(k \ge 1\)) — максимальное возможное число, которое Поликарп использовал в операциях над массивом, или \(-1\), если такое число может быть сколь угодно большим.


Примеры
Входные данныеВыходные данные
1 3
6
1 5 3 1 1 5
8
-1 0 1 -1 0 1 -1 0
4
100 -1000 -1000 -1000
2
1
1100

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

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