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

Задача . D. Почти все делители


Мы загадали некоторые целое число \(x\). Вам задан список почти всех его делителей. Почти всех означает, что в списке есть все делители кроме \(1\) и \(x\).

Ваша задача — найти минимально возможное целое число \(x\), которое может быть загаданным числом, или сказать, что входные данные противоречивы и невозможно найти такое число.

Вам необходимо ответить на \(t\) независимых запросов.

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

Первая строка входных данных содержит одно целое число \(t\) (\(1 \le t \le 25\)) — количество запросов. Далее следуют \(t\) запросов.

Первая строка запроса содержит одно целое число \(n\) (\(1 \le n \le 300\)) — количество делителей в списке.

Вторая строка запроса содержит \(n\) целых чисел \(d_1, d_2, \dots, d_n\) (\(2 \le d_i \le 10^6\)), где \(d_i\) равно \(i\)-му делителю заданного числа. Гарантируется, что все значения \(d_i\) различны.

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

Выведите ответ на каждый запрос.

Если входные данные противоречивы и невозможно найти такое число \(x\), что заданный список делителей — это список почти всех его делителей, выведите -1. Иначе выведите минимально возможное такое \(x\).


Примеры
Входные данныеВыходные данные
1 2
8
8 2 12 6 4 24 16 3
1
2
48
4

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

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