Small Cloud Sugar Candy
题号:NC248244
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

珂朵莉不小心丢失了一个长为 n 的非负整数序列 a,现在她非常伤心。
好在她还记得这个序列满足 m 个条件,第 i 个条件形如 ,她会把这 m 个条件告诉你。
为了让珂朵莉高兴起来,你需要找到一个符合这 m 个条件的整数序列 a
虽然这个序列 a 不一定是原本的序列,但是珂朵莉心地善良,只要你给出的序列同样符合这 m 个条件,她就认为你给出了正确的序列,会送给你 100 分作为答谢。
由于珂朵莉看不懂太大的数,因此你给出的序列必须满足
当然,珂朵莉也有可能记错,因此如果不存在这样的序列 a,你需要输出 -1,告诉珂朵莉她记错了。

输入描述:

本题有多组数据。第一行一个正整数 T 表示数据组数,对于每组数据:
第一行两个正整数 n,m
接下来 m 行,每行三个非负整数 x,y,z,表示一个条件
对于 的数据,

输出描述:

如果不存在这样的序列 a,需要输出 -1
否则,输出一行 n 个整数,表示你构造的 a 序列,多解输出任意即可。
示例1

输入

复制
2
5 4
1 1 4
5 1 4
2 3 3
3 4 1
4 4
1 2 3
2 4 1
1 3 2
3 4 1

输出

复制
2 2 1 0 2
-1

说明

对于第一组数据,不难验证给出的序列符合要求。
对于第二组数据,由第二个和第三个条件可以推出 ,由第一个和第四个条件可以推出 ,矛盾,因此珂朵莉一定记错了,输出 -1

备注:

对于 的数据,