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

Задача . C. Мастер тестов


Администрация школы должна выбрать команду своих представителей для участия в международном тесте. Всего в школе \(n\) учеников. Всех учеников можно описать массивом \(a\), в котором \(a_i\) равно уровню интеллекта \(i\)-го ученика (\(1 \le i \le n\)). Вопросы на тесте покрывают \(m\) тем, обозначенных числами \(1, 2, 3, \ldots, m\). Оказывается, \(i\)-й студент разбирается в теме \(T\), если \((a_i \bmod T) = 0\). Иначе в этой теме он полный новичок.

Будем говорить, что команда учеников коллегиально разбирается во всех темах, если для любой темы по крайней мере один участник команды разбирается в ней.

Нужно найти такую команду учеников, которая бы коллегиально разбиралась во всех темах, но при этом разность между максимальным и минимальным уровнями интеллекта участников команды была бы минимальна. Для такой команды выведите эту разность.

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

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

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

Вторая строка каждого набора входных данных содержит \(n\) целых чисел \(a_1, a_2, \ldots, a_n\) (\(1 \le a_i \le 10^5\)).

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

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

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

Для каждого набора входных данных выведите ответ на отдельной строке. Если решения нет, выведите \(-1\).

Примечание

В первом наборе входных данных имеем учеников с уровнями интеллекта \(3\) и \(7\), а \(m = 4\). В частности, нет ученика с уровнем интеллекта, который бы делился на \(2\). Но поскольку \(2 \leq m\), то выбрать подходящую команду невозможно.

Во втором наборе входных данных мы можем составить команду из одного участника: в ней будет лишь ученик с уровнем интеллекта \(2\). Эта команда будет коллегиально разбираться в обеих темах \(1\) и \(2\).

В третьем наборе входных данных рассмотрим команду с уровнями интеллекта \(4, 5, 6, 7\). Такая команда будет коллегиально разбираться во всех темах \(1, 2, \ldots, 7\).


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

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

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