#abc306g. [abc306_g]Return to 1

[abc306_g]Return to 1

题目描述

我们有一个有向图,其中包含 NN 个顶点和 MM 条边。顶点编号从 11NN,第 ii 条边从顶点 UiU_i 出发,指向顶点 ViV_i

你当前位于顶点 11。判断你能否执行以下移动 101010010^{10^{100}} 次,最终回到顶点 11

  • 选择从当前所在顶点出发的一条边,移动到该边指向的顶点。

给定 TT 组测试用例,请解决每个测试用例。

约束条件

  • 所有输入值均为整数。
  • 1T2×1051\leq T \leq 2\times 10^5
  • 2N2×1052\leq N \leq 2\times 10^5
  • 1M2×1051\leq M \leq 2\times 10^5
  • 所有测试用例中 NN 的总和不超过 2×1052\times 10^5
  • 所有测试用例中 MM 的总和不超过 2×1052\times 10^5
  • 1Ui,ViN1 \leq U_i, V_i \leq N
  • UiViU_i \neq V_i
  • 如果 iji\neq j,则 (Ui,Vi)(Uj,Vj)(U_i,V_i) \neq (U_j,V_j)

输入格式

输入以以下格式从标准输入中给出。这里,testi\text{test}_i 表示第 ii 组测试用例。

TT test1\text{test}_1 test2\text{test}_2 \vdots testT\text{test}_T

每个测试用例以以下格式给出。

NN MM U1U_1 V1V_1 U2U_2 V2V_2 \vdots UMU_M VMV_M

输出格式

输出共 TT 行。

ii(1iT)(1\leq i \leq T) 的输出应为 Yes,如果你能执行题目描述中所述的移动 101010010^{10^{100}} 次,最终回到顶点 11;否则输出 No

示例输入1

4
2 2
1 2
2 1
3 3
1 2
2 3
3 1
7 10
1 6
6 3
1 4
5 1
7 1
4 5
2 1
4 7
2 7
4 3
7 11
1 6
6 3
1 4
5 1
7 1
4 5
2 1
4 7
2 7
4 3
3 7

示例输出1

Yes
No
No
Yes

对于第 11 组测试用例,

  • 你必然会重复访问顶点 1211 \rightarrow 2 \rightarrow 1 \rightarrow \dots。因此,在执行移动 101010010^{10^{100}} 次后,你最终会回到顶点 11,所以答案为 Yes

对于第 22 组测试用例,

  • 你必然会重复访问顶点 $1 \rightarrow 2 \rightarrow 3 \rightarrow 1 \rightarrow \dots$。因此,在执行移动 101010010^{10^{100}} 次后,你最终会到达顶点 22,所以答案为 No