#CF2115B. 水母与山茶花

    ID: 7131 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 5 上传者: 标签>搜索枚举其他构造DFS动态规划图结构贪心树结构*2100

水母与山茶花

B. 水母与山茶花

题目描述

水母有一个包含 nn 个整数的数组 c1,c2,,cnc_1, c_2, \dots, c_n。初始时,c=[a1,a2,,an]c = [a_1, a_2, \dots, a_n]

水母将对 cc 进行 qq 次修改操作。

对于第 i=1,2,,qi = 1, 2, \dots, q 次修改,给定三个介于 11nn 之间的整数 xix_iyiy_iziz_i。然后水母将执行以下赋值:

czi:=min(cxi,cyi)c_{z_i} := \min(c_{x_i}, c_{y_i})

经过这 qq 次修改后,c=[b1,b2,,bn]c = [b_1, b_2, \dots, b_n]

现在,Flower 知道 bb 的值,也知道所有 1iq1 \le i \le q 对应的 xix_iyiy_iziz_i,但她不知道 aa 的值。

Flower 想要找到任意一个可能的数组 aa,或者报告不存在这样的 aa

如果存在多个可能的数组 aa,你可以输出其中任意一个。

输入格式

每个测试包含多个测试用例。第一行包含整数 tt1t1041 \le t \le 10^4),表示测试用例的数量。

每个测试用例的第一行包含两个整数 nnqq1n,q3×1051 \le n, q \le 3 \times 10^5)——数组的长度和修改次数。

每个测试用例的第二行包含 nn 个整数 b1,b2,,bnb_1, b_2, \dots, b_n1bi1091 \le b_i \le 10^9)——经过 qq 次修改后数组 cc 的值。

接下来的 qq 行,每行包含三个整数 xix_iyiy_iziz_i1xi,yi,zin1 \le x_i, y_i, z_i \le n)——描述第 ii 次修改操作。

保证所有测试用例的 nn 之和与 qq 之和均不超过 3×1053 \times 10^5

输出格式

对于每个测试用例,如果存在数组 aa,则在一行中输出 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n0ai1090 \le a_i \le 10^9)。否则,在一行中输出 -1

如果存在多个解,可以输出任意一个。

示例

输入

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

输出

-1
1 2 3 
1 2 3 4 5 5 

样例解释

在第一个测试用例中,根据给定的修改序列,我们知道 b1=a1b_1 = a_1b2=min(a1,a2)b_2 = \min(a_1, a_2)。因此,必须有 b2b1b_2 \le b_1。然而,对于给定的 bb,我们有 b1<b2b_1 < b_2。因此,不存在解。

在第二个测试用例中,我们可以看到给定的 cc 在经过指定的修改后从 aa 变成了 bb,并且每次修改都没有改变 cc 的值。