#P1993. 小 K 的农场

小 K 的农场

题目描述

小 K 在 MC 里面建立了很多农场,总共有 nn 个。农场数量太多,以至于他已经忘记了每个农场中种植作物的具体数量,只记得 mm 条含糊的信息。这些信息有以下三种形式:

  1. 农场 aa 比农场 bb 至少多种植了 cc 个单位的作物;
  2. 农场 aa 比农场 bb 至多多种植了 cc 个单位的作物;
  3. 农场 aa 与农场 bb 种植的作物数量相同。

由于小 K 的记忆可能存在偏差,他想知道是否存在一种情况,使得各农场种植作物的数量与所有信息吻合。

输入格式

第一行包含两个整数 n,mn,m,分别表示农场数量和信息数量。

接下来 mm 行,每行表示一条信息:

  • 如果第一个数是 11,接下来有三个整数 a,b,ca,b,c,表示农场 aa 比农场 bb 至少多种植了 cc 个单位的作物;
  • 如果第一个数是 22,接下来有三个整数 a,b,ca,b,c,表示农场 aa 比农场 bb 至多多种植了 cc 个单位的作物;
  • 如果第一个数是 33,接下来有两个整数 a,ba,b,表示农场 aa 和农场 bb 种植的作物数量相同。

输出格式

如果存在一种情况与小 K 的所有信息吻合,输出 Yes,否则输出 No

样例

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

数据范围与提示

对于 100%100\% 的数据,保证 1n,m,a,b,c5×1031\le n,m,a,b,c\le5\times10^3