#abc304e. [abc304_e]Good Graph

[abc304_e]Good Graph

問題文

NN 頂点 MM 辺の無向グラフ GG が与えられます。 i=1,2,ldots,Mi = 1, 2, \\ldots, M について、ii 番目の辺は頂点 uiu_i と頂点 viv_i を結ぶ無向辺です。

NN 頂点のグラフは、すべての i=1,2,ldots,Ki = 1, 2, \\ldots, K について下記の条件が成り立つとき、良いグラフと呼ばれます。

  • GG 上で頂点 xix_i と頂点 yiy_i を結ぶパスが存在しない。

与えられるグラフ GG は良いグラフです。

QQ 個の独立な質問が与えられるので、それらすべてに答えてください。 i=1,2,ldots,Qi = 1, 2, \\ldots, Q について、ii 番目の質問は

  • 入力で与えられたグラフ GG に頂点 pip_i と頂点 qiq_i を結ぶ無向辺を 11 本追加して得られるグラフ G(i)G^{(i)} は良いグラフですか?

という質問です。

制約

  • 2leqNleq2times1052 \\leq N \\leq 2 \\times 10^5
  • 0leqMleq2times1050 \\leq M \\leq 2 \\times 10^5
  • 1lequi,vileqN1 \\leq u_i, v_i \\leq N
  • 1leqKleq2times1051 \\leq K \\leq 2 \\times 10^5
  • 1leqxi,yileqN1 \\leq x_i, y_i \\leq N
  • xineqyix_i \\neq y_i
  • $i \\neq j \\implies \\lbrace x_i, y_i \\rbrace \\neq \\lbrace x_j, y_j \\rbrace$
  • すべての i=1,2,ldots,Ki = 1, 2, \\ldots, K について次が成り立つ:頂点 xix_i と頂点 yiy_i を結ぶパスは存在しない。
  • 1leqQleq2times1051 \\leq Q \\leq 2 \\times 10^5
  • 1leqpi,qileqN1 \\leq p_i, q_i \\leq N
  • pineqqip_i \\neq q_i
  • 入力はすべて整数

入力

入力は以下の形式で標準入力から与えられる。

NN MM u1u_1 v1v_1 u2u_2 v2v_2 vdots\\vdots uMu_M vMv_M KK x1x_1 y1y_1 x2x_2 y2y_2 vdots\\vdots xKx_K yKy_K QQ p1p_1 q1q_1 p2p_2 q2q_2 vdots\\vdots pQp_Q qQq_Q

出力

QQ 行出力せよ。 i=1,2,ldots,Qi = 1, 2, \\ldots, Q について、ii 行目には ii 番目の質問に対する答えを出力せよ。 具体的には、グラフ G(i)G^{(i)} が良いグラフである場合は Yes を、良いグラフでない場合は No を出力せよ。


入力例 1

6 6
1 2
2 3
2 3
3 1
5 4
5 5
3
1 5
2 6
4 3
4
2 5
2 6
5 6
5 4

出力例 1

No
No
Yes
Yes
  • 11 番目の質問に関して、グラフ G(1)G^{(1)} は良いグラフではありません。なぜなら、頂点 x1=1x_1 = 1 と頂点 y1=5y_1 = 5 を結ぶパス 1rightarrow2rightarrow51 \\rightarrow 2 \\rightarrow 5 を持つからです。よって、No と出力します。
  • 22 番目の質問に関して、グラフ G(2)G^{(2)} は良いグラフではありません。なぜなら、頂点 x2=2x_2 = 2 と頂点 y2=6y_2 = 6 を結ぶパス 2rightarrow62 \\rightarrow 6 を持つからです。よって、No と出力します。
  • 33 番目の質問に関して、グラフ G(3)G^{(3)} は良いグラフです。よって、Yes と出力します。
  • 44 番目の質問に関して、グラフ G(4)G^{(4)} は良いグラフです。よって、Yes と出力します。

この入力例のように、与えられるグラフ GG が自己ループや多重辺を持つ場合があることに注意してください。