D. Shohag любит НОД
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

У Shohag есть целое число $$$n$$$ и множество $$$S$$$ из $$$m$$$ различных целых чисел. Помогите ему найти лексикографически наибольший$$$^{\text{∗}}$$$ массив целых чисел $$$a_1, a_2, \ldots, a_n$$$ такой, что $$$a_i \in S$$$ для каждого $$$1 \le i \le n$$$, а также для всех пар $$$1 \le i \lt j \le n$$$ должно выполняться $$$a_{\operatorname{gcd}(i, j)} \neq \operatorname{gcd}(a_i, a_j)$$$$$$^{\text{†}}$$$. Или скажите, что таких массивов не существует.

$$$^{\text{∗}}$$$Массив $$$a$$$ лексикографически больше массива $$$b$$$ такой же длины, если $$$a \ne b$$$, и в первой позиции, где $$$a$$$ и $$$b$$$ различны, в массиве $$$a$$$ элемент больше, чем соответствующий элемент в $$$b$$$.

$$$^{\text{†}}$$$$$$\gcd(x, y)$$$ обозначает наибольший общий делитель (НОД) чисел $$$x$$$ и $$$y$$$.

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

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

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

Вторая строка содержит $$$m$$$ различных целых чисел в порядке возрастания, представляющих элементы множества $$$S$$$ ($$$1 \le x \le n$$$ для каждого $$$x \in S$$$).

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

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

Для каждого набора входных данных, если нет решения, выведите $$$-1$$$. Иначе выведите $$$n$$$ целых чисел — лексикографически наибольший массив, удовлетворяющий условиям.

Пример
Входные данные
3
6 3
3 4 6
1 1
1
2 1
2
Выходные данные
6 4 4 3 4 3 
1 
-1
Примечание

В первом наборе входных данных каждый элемент массива принадлежит заданному множеству $$$S = \{3, 4, 6\}$$$, а все пары индексов массива удовлетворяют необходимым условиям. В частности, для пары $$$(2, 3)$$$: $$$a_{\operatorname{gcd}(2, 3)} = a_1 = 6$$$ и $$$\operatorname{gcd}(a_2, a_3) = \operatorname{gcd}(4, 4) = 4$$$, поэтому они не равны. Существуют и другие массивы, удовлетворяющие условиям, но этот — лексикографически наибольший.

В третьем наборе входных данных массива не существует, так как возможно только $$$a = [2, 2]$$$, но для этого массива для пары $$$(1, 2)$$$ имеем: $$$a_{\operatorname{gcd}(1, 2)} = a_1 = 2$$$ и $$$\operatorname{gcd}(a_1, a_2) = \operatorname{gcd}(2, 2) = 2$$$, то есть они равны, что недопустимо!