#700. 徐老师的银行卡

徐老师的银行卡

徐老师的

说明


虽然徐老师并没有多少钱,但是徐老师办了很多张银行卡,共有 n 张,以至于他自己都忘记了每张银行卡里有多少钱了。

他只记得一些含糊的信息,这些信息主要以下列三种形式描述:


1. 银行卡 a 比银行卡 b 至少多 c 元。
2. 银行卡 a 比银行卡 b 至多多 c 元。
3. 银行卡 a 和银行卡 c 里的存款一样多。
但是由于徐老师的记忆有些差,他想知道是否存在一种情况,使得银行卡的存款情况和他记忆中的所有信息吻合。

输入格式


第一行输入两个整数 n 和 m,分别表示银行卡数目和徐老师记忆中的信息的数目。(1<= n,m<= 10000)

接下来 m 行:

如果每行第一个数是 1,接下来有三个整数 a, b, c,表示银行卡 a 比银行卡 b 至少多 c 元。

如果每行第一个数是 2,接下来有三个整数 a, b, c,表示银行卡 a 比银行卡 b 至多多 c 元。

如果每行第一个数是 3,接下来有两个整数 a, b,表示银行卡 a 和 b 里的存款一样多。(1<= n,m,a,b,c<= 10000)

输出格式


如果存在某种情况与徐老师的记忆吻合,输出`Yes`,否则输出`No`。

样例

3 3
3 1 2
1 1 3 1
2 2 3 2
Yes