暑假期间,Amir 住在祖母家,祖母给他讲了古代游牧民族如何选择牧场的故事:
共有 $n$ 个牧场,编号从 $1$ 到 $n$,以及 $m$ 条可用的道路。每个牧场属于以下四种类型之一: кыстау(冬季)、көктеу(春季)、жайлау(夏季)和 күзey(秋季)。
无论季节如何,每个牧场最初都有人居住。当季节更替时,人们会从每个牧场移动到对应新季节的最近的牧场。如果有多个最近的牧场,他们会选择编号最小的那个。如果新季节没有对应的牧场,人们会感到悲伤并停止移动。
现在 Amir 想知道,如果人们可以随意多次改变季节,是否有可能将所有人聚集在同一个地方。
输入格式
第一行包含一个整数 $T$ ($1 \le T \le 10^4$),表示测试用例的数量。每个测试用例:
第一行包含两个整数 $n$ 和 $m$ ($1 \le n \le 200, 1 \le m \le \frac{n(n-1)}{2}$),表示牧场数量和道路数量。
第二行包含 $n$ 个整数 $c_1, c_2, \dots, c_n$ ($1 \le c_i \le 4$),表示牧场的类型。
接下来的 $m$ 行,每行包含三个整数 $u_i, v_i$ 和 $w_i$ ($1 \le u_i, v_i \le n, 1 \le w_i \le 10^5$),表示牧场 $u_i$ 和 $v_i$ 之间有一条长度为 $w_i$ 的双向道路。
保证所有测试用例的 $n$ 之和不超过 $10^5$。 保证所有测试用例的 $m$ 之和不超过 $10^6$。
输出格式
输出 $T$ 行,每行对应相应测试用例的答案。如果可以将所有人聚集在同一个地方,输出 “YES”,否则输出 “NO”。
答案不区分大小写(例如,“yEs”、“yes”、“Yes” 和 “YES” 都会被识别为肯定答案)。
样例
样例输入 1
2 4 4 1 2 2 4 1 2 5 2 3 100 3 4 8 1 3 11 7 9 3 1 3 2 4 1 2 3 5 7 7 1 1 1 2 7 1 5 1 4 7 10 4 5 10 5 2 11 2 7 3 3 4 10
样例输出 1
YES NO