#P1615D. X(or)-mas Tree

    ID: 180 Type: RemoteJudge 2000ms 256MiB Tried: 0 Accepted: 0 Difficulty: (None) Uploaded By: Tags>bitmasksdfs and similardsugraphstrees*2200

X(or)-mas Tree

No submission language available for this problem.

Description

'Twas the night before Christmas, and Santa's frantically setting up his new Christmas tree! There are nn nodes in the tree, connected by n1n-1 edges. On each edge of the tree, there's a set of Christmas lights, which can be represented by an integer in binary representation.

He has mm elves come over and admire his tree. Each elf is assigned two nodes, aa and bb, and that elf looks at all lights on the simple path between the two nodes. After this, the elf's favorite number becomes the bitwise XOR of the values of the lights on the edges in that path.

However, the North Pole has been recovering from a nasty bout of flu. Because of this, Santa forgot some of the configurations of lights he had put on the tree, and he has already left the North Pole! Fortunately, the elves came to the rescue, and each one told Santa what pair of nodes he was assigned (ai,bi)(a_i, b_i), as well as the parity of the number of set bits in his favorite number. In other words, he remembers whether the number of 11's when his favorite number is written in binary is odd or even.

Help Santa determine if it's possible that the memories are consistent, and if it is, remember what his tree looked like, and maybe you'll go down in history!

The first line contains one integer tt (1t21041 \leq t \leq 2 \cdot 10^4) — the number of test cases. Then tt cases follow.

The first line of each test case contains two integers, nn and mm (2n21052 \leq n \leq 2 \cdot 10^5; 1m21051 \leq m \leq 2 \cdot 10^5) — the size of tree and the number of elves respectively.

The next n1n-1 lines of each test case each contains three integers, xx, yy, and vv (1x,yn1 \leq x, y \leq n; 1v<230-1 \leq v < 2^{30}) — meaning that there's an edge between nodes xx and yy. If

  • v=1v = -1: Santa doesn't remember what the set of lights were on for this edge.
  • v0v \geq 0: The set of lights on the edge is vv.

The next mm lines of each test case each contains three integers, aa, bb, and pp (1a,bn1 \leq a, b \leq n; aba \neq b; 0p10 \leq p \leq 1) — the nodes that the elf was assigned to, and the parity of the number of set bits in the elf's favorite number.

It is guaranteed that the sum of all nn and the sum of all mm don't exceed 21052 \cdot 10^5 each.

It is guaranteed that the given edges form a tree.

For each test case, first print either YES or NO (in any case), whether there's a tree consistent with Santa's memory or not.

If the answer is YES, print n1n-1 lines each containing three integers: xx, yy, and vv (1x,yn1 \le x, y \le n; 0v<2300 \le v < 2^{30}) — the edge and the integer on that edge. The set of edges must be the same as in the input, and if the value of some edge was specified earlier, it can not change. You can print the edges in any order.

If there are multiple answers, print any.

Input

The first line contains one integer tt (1t21041 \leq t \leq 2 \cdot 10^4) — the number of test cases. Then tt cases follow.

The first line of each test case contains two integers, nn and mm (2n21052 \leq n \leq 2 \cdot 10^5; 1m21051 \leq m \leq 2 \cdot 10^5) — the size of tree and the number of elves respectively.

The next n1n-1 lines of each test case each contains three integers, xx, yy, and vv (1x,yn1 \leq x, y \leq n; 1v<230-1 \leq v < 2^{30}) — meaning that there's an edge between nodes xx and yy. If

  • v=1v = -1: Santa doesn't remember what the set of lights were on for this edge.
  • v0v \geq 0: The set of lights on the edge is vv.

The next mm lines of each test case each contains three integers, aa, bb, and pp (1a,bn1 \leq a, b \leq n; aba \neq b; 0p10 \leq p \leq 1) — the nodes that the elf was assigned to, and the parity of the number of set bits in the elf's favorite number.

It is guaranteed that the sum of all nn and the sum of all mm don't exceed 21052 \cdot 10^5 each.

It is guaranteed that the given edges form a tree.

Output

For each test case, first print either YES or NO (in any case), whether there's a tree consistent with Santa's memory or not.

If the answer is YES, print n1n-1 lines each containing three integers: xx, yy, and vv (1x,yn1 \le x, y \le n; 0v<2300 \le v < 2^{30}) — the edge and the integer on that edge. The set of edges must be the same as in the input, and if the value of some edge was specified earlier, it can not change. You can print the edges in any order.

If there are multiple answers, print any.

Samples

Sample Input 1

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

Sample Output 1

YES
1 2 0
1 3 1
2 4 7
3 6 0
2 5 0
YES
1 2 1
1 3 0
1 4 1
4 5 1
NO
NO

Note

The first test case is the image in the statement.

One possible answer is assigning the value of the edge (1,2)(1, 2) to 55, and the value of the edge (2,5)(2, 5) to 33. This is correct because:

  • The first elf goes from node 22 to node 33. This elf's favorite number is 44, so he remembers the value 11 (as 44 has an odd number of 11 bits in its binary representation).
  • The second elf goes from node 22 to node 55. This elf's favorite number is 33, so he remembers the value 00 (as 33 has an even number of 11 bits in its binary representation).
  • The third elf goes from node 55 to node 66. This elf's favorite number is 77, so he remembers the value 11 (as 77 has an odd number of 11 bits in its binary representation).
  • The fourth elf goes from node 66 to node 11. This elf's favorite number is 11, so he remembers the value 11 (as 11 has an odd number of 11 bits in its binary representation).
  • The fifth elf goes from node 44 to node 55. This elf's favorite number is 44, so he remembers the number 11 (as 44 has an odd number of 11 bits in its binary representation).

Note that there are other possible answers.