#828. 防御兽潮2

防御兽潮2

No submission language available for this problem.

Background

Special for beginners, ^_^

Description

关小山为了胜利,正在规划自己的部署。他可以部署 n 个伙伴并确定他们所在的团体。

每个伙伴只能处在一个特定的团体。将防线看作是一个 x 轴坐标线,则每个团体都处在

一个特定的 x 坐标位。

关小山的部署有 m 个指令,指令 i 表示伙伴 ai 处在另一个伙伴 bi 前面距离 di 的位置。若 di < 0 则表示 ai 处在另一个伙伴 bi 后面的距离 |di| 的位置。

如今,关小山写出了一些部署指令,但他无法确定该部署是否合理且存在。请帮助 他判断该部署是否存在,若存在则输出 "YES" 否则输出 "NO"

两个不同的伙伴,可能处于同一个团体

Format

Input

第一行一个整数 T,表示有 T 组测试

每组第一行两个整数 n, m. 表示 n 个伙伴,和 m 个部署指令。

之后有 m 行每行 3 个整数 ai bi di .

Output

输出 T 组,每组第一行 "YES" 或 "NO" 表示部署是否存在

Samples

4
5 3
1 2 2
2 3 4
4 2 -6
6 5
1 2 2
2 3 4
4 2 -6
5 4 4
3 5 100
2 2
1 2 5
1 2 4
4 1
1 2 3
YES
NO
NO
YES

Limitation

2 <= n <= 2e5

1 <= m <= n

ai != bi

1 <= ai, bi <= n;

|di| <= 1e9