30096 - Construct an array

给出两个整数 nm,您需要构造出一个长度为 n 满足 m 条限制的整数数组 a。每个限制可以由元组 (o, i, j) 表示,其中 o \in {1, 2}1 \le i \le j \le n

  • 如果 o = 1,那么 a_i + a_j \ge 0
  • 如果 o = 2,那么 a_i + a_j < 0

输入

每个测试包含多个测试用例。

第一行包含一个整数 t1 \le t \le 10^4)——测试用例的数量,测试用例的描述如下:

每个测试用例的第一行包含两个整数 nmn \le 2 \times 10^50 \le m \le \min(10^6, \frac{n(n+1)}{2}))——分别表示需要构造的数组 a 的长度和限制数量。

接下来 m 行每一行包含三个整数 oijo \in {1, 2}1 \le i \le j \le n)——表示每一个限制,保证每一对整数 ij 最多出现在一个限制条件中。

输出

对于每个测试用例,如果不存在这样的数组 a,则输出 NO

否则,首先单行输出 YES,然后输出 n 个整数 a_1, a_2, \dots, a_n|a_i| \le 10^9)。可以证明,在问题的约束下,如果存在这样一个数组,那么数组中所有元素的绝对值都不超过 10^9

如果存在多个满足要求的数组,您可以输出其中任意一个。

您可以输出任何大小写(大写或小写)的答案。例如,字符串 yEsyesYesYES 均被视为肯定回答。

样例

输入

10
1 1
1 1 1
1 1
2 1 1
2 3
1 1 1
1 1 2
1 2 2
2 3
1 1 1
1 2 2
2 1 2
3 6
1 1 1
1 1 2
1 1 3
2 2 2
2 2 3
2 3 3
3 6
2 1 1
1 1 2
2 2 3
1 3 3
1 2 2
2 1 3
2 1
2 1 2
3 4
1 1 2
1 2 3
2 1 3
2 2 2
4 0
7 7
1 1 2
2 2 3
1 3 4
2 4 5
1 5 6
2 6 7
1 7 7

输出

YES
0
YES
-1
YES
0 0
NO
YES
1 -1 -1
NO
YES
-1 -1
NO
YES
0 0 0 0
YES
6 -6 4 -4 2 -2 0
时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题