#CF2039D. Shohag 喜欢 GCD

Shohag 喜欢 GCD

D. Shohag 喜欢 GCD

每个测试的时间限制:2 秒
内存限制:256 兆字节

Shohag 有一个整数 nn 和一个由 mm互不相同的整数组成的集合 SS
请帮他找到一个字典序最大的整数数组 a1,a2,,ana_1, a_2, \dots, a_n,使得:

  • 对每个 1in1 \le i \le n,有 aiSa_i \in S
  • 所有 1i<jn1 \le i < j \le n,满足:agcd(i,j)gcd(ai,aj)a_{\gcd(i, j)} \neq \gcd(a_i, a_j) 如果这样的数组不存在,则输出 1-1

定义说明

  • 字典序更大:长度相同的数组 aabb 中,在第一个不同的位置 kk 处,ak>bka_k > b_k
  • gcd(x,y)\gcd(x, y) 表示 xxyy 的最大公约数。

输入格式
第一行一个整数 tt1t1041 \le t \le 10^4)——测试用例个数。
每个测试用例:

  • 第一行两个整数 nnmm1mn1051 \le m \le n \le 10^5)。
  • 第二行 mm递增顺序的互不相同的整数,表示集合 SS1xn1 \le x \le nxSx \in S)。

数据保证:所有测试用例的 nn 之和 3×105\le 3 \times 10^5


输出格式
对于每个测试用例:

  • 如果没有解,输出 1-1
  • 否则输出 nn 个整数,表示满足条件的字典序最大的数组。

样例输入

3
6 3
3 4 6
1 1
1
2 1
2

样例输出

6 4 4 3 4 3 
1 
-1

样例解释

  • 第一个测试用例:数组元素都来自 {3,4,6}\{3,4,6\},且所有 (i,j)(i,j) 对满足 agcd(i,j)gcd(ai,aj)a_{\gcd(i,j)} \neq \gcd(a_i,a_j)。例如 (2,3)(2,3)agcd(2,3)=a1=6a_{\gcd(2,3)} = a_1 = 6gcd(a2,a3)=gcd(4,4)=4\gcd(a_2,a_3) = \gcd(4,4) = 4,不相等。这是字典序最大的可行解。
  • 第三个测试用例:只能使用 [2,2][2,2],但 (1,2)(1,2) 时:agcd(1,2)=a1=2a_{\gcd(1,2)} = a_1 = 2gcd(a1,a2)=2\gcd(a_1,a_2) = 2,相等,违反条件,故无解。