友情提示:380元/半年,儿童学编程,就上码丁实验室。
【题目描述】
小K建立了$n$个农场,他忘记了每个农场中种植作物的具体数量,只记得一些含糊的信息(共$m$个),以下列三种形式描述:
①农场$a$比农场$b$至少多种植了$c$个单位的作物;
②农场$a$比农场$b$至多多种植了$c$个单位的作物;
③农场$a$与农场$b$种植的作物数一样多。
但是,由于小K的记忆有些偏差,所以他想要知道存不存在一种情况,使得农场的种植作物数量与他记忆中的所有信息吻合。
【输入】
第一行包括两个整数 $n$ 和 $m$,分别表示农场数目和小 K 记忆中的信息数目。
接下来 $m$ 行:
如果每行的第一个数是 $1$,接下来有 $3$ 个整数 $a,b,c$,表示农场 $a$ 比农场 $b$ 至少多种植了$c$个单位的作物。
如果每行的第一个数是$2$,接下来有$3$个整数$a,b,c$,表示农场$a$比农场$b$至多多种植了$c$个单位的作物。如果每行的第一个数是$3$,接下来有$2$个整数$a,b$,表示农场$a$种植的的数量和农场$b$一样多。
【输出】
如果存在某种情况与小 K 的记忆吻合,输出“$Yes$”,否则输出“$No$”。
【输入样例】
3 3 3 1 2 1 1 3 1 2 2 3 2
【输出样例】
Yes
【提示】
【数据规模】
对于 100% 的数据保证:$1 ≤ n,m,a,b,c ≤ 10000$。