在为游戏Minecraft安装工业时代2模组后,可以拿任意与该模组矿物词典通用的锡锭来合成原版的空桶。 与能将桶还原成铁的模组搭配,相当于用锡1:1换铁。
你设计了游戏里的一套经济系统,系统由 NNN 种物品和 MMM 种物品兑换规则组成,每种规则形如“玩家可以用一个物品 AiA_iAi 和 xix_ixi 个物品 BiB_iBi 之间来回兑换”。
但测试员报告可能玩家会利用系统的bug无限刷物品,例如:
玩家可以用一个物品 111 和 222 个物品 222 之间来回兑换。
玩家可以用一个物品 222 和 222 个物品 333 之间来回兑换。
玩家可以用一个物品 111 和 333 个物品 333 之间来回兑换。
假如玩家有一个物品 AAA ,依据“规则一”,它可以兑换成 222 个物品 BBB,再依据“规则二”兑换成 444 个物品 CCC,最后依据“规则三”兑换成 111 个物品 AAA 和 111 个物品 CCC。重复以上过程,物品 CCC 的数量会无限增长。
这样的 bug\rm bugbug 会毁掉整个游戏,你必须编写程序对你的经济系统进行检测,确保不会出现这样的情况。
第一行包含两个整数 N,M (1≤N,M≤105)N,M\ (1 \leq N,M \leq 10^5)N,M (1≤N,M≤105),由空格隔开,含义由上所述。
接下来 MMM 行,每行三个整数 Ai,Bi,xi (1≤Ai,Bi≤N,Ai≠Bi,1≤xi≤109)A_i,B_i,x_i\ (1 \leq A_i,B_i \leq N,A_i \neq B_i,1 \leq x_i \leq 10^9)Ai,Bi,xi (1≤Ai,Bi≤N,Ai=Bi,1≤xi≤109)。
如果系统没有 bug\rm bugbug,也就是说不会出现任何导致物品无限增长的情形,输出 Yes\rm YesYes,否则输出 No\rm NoNo。
4 4 1 2 2 2 3 2 3 4 2 4 2 3
No
4 3 1 2 7 2 3 5 4 1 2
Yes
4 4 1 2 101 2 3 99 1 4 100 4 3 100
5 6 3 1 4 2 3 4 5 4 15 2 1 16 2 4 20 5 3 3