屏峰
题号:NC318513
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

屏峰(PingFeng)雨季绵长,青石板铺就的小径交错相连。少男和少女同撑一把伞,伞面恰好遮蔽相邻的两块青石。为了不让彼此淋湿,他们每次只能保持并肩的姿态,一起移动到另外两块相邻的青石上。雨声淅沥,谁也没有说破伞下的心事,只是一步步走着,想要停在巷尾那株樱花树下的特定位置。男孩想要在到达终点时,悄悄换到外侧替女孩挡风,他能如愿吗?
给定一个无向图,当前两人分别站在一条边的两个端点上。一次操作中,可以选定其中一人不动,另一人移动到“仍与不动者相邻”的另一个点上。
记男孩在点 x 女孩在点 y 的状态为 (x,y)x,y 有顺序且状态必须满足 (x,y)\in E。若当前状态是 (u,v),任意找无向图中一点 w,则在满足 w\neq u(w,v)\in E 时可以改变为状态 (w,v),或在满足 w\neq v(u,w)\in E 时可以改变为状态 (u,w)
两个人始终同撑一伞,所以始终站在相邻点上。注意交换男孩和女孩的位置算两种不同状态。
给定一个无向连通图。初始时男孩在点 s,女孩在点 t,且 (s,t) 是一条边。给出 q 个询问,每次询问能否通过若干次操作,使男孩在点 a,女孩在点 b,其中 (a,b) 也是一条边。

输入描述:

第一行一个整数 T (1\leq T\leq 20),表示测试组数。 
对于每组数据,第一行五个整数 n,m,q,s,t (2\leq n\leq 2\times 10^5,n-1\leq m\leq 2\times 10^5,1\leq q\leq 2\times 10^5,1\leq s,t\leq n,s\neq t),分别表示点数、边数、询问数以及初始状态。
接下来 m 行,每行两个整数 u,v (1\leq u,v\leq n,u\neq v),表示无向图中的一条边。
接下来 q 行,每行两个整数 a,b (1\leq a,b\leq n,a\neq b),表示一次询问目标状态。
数据保证无向图连通且无重边无自环,对于 (s,t) 和每组询问的 (a,b) 满足无向图中有边 (s,t)(a,b)

输出描述:

对每组数据每个询问,若可以通过若干次操作到达,输出一行一个字符串 \texttt{Yes};否则输出一行一个字符串 \texttt{No}
示例1

输入

复制
1
2 1 4 1 2
1 2
1 2
2 1
1 2
2 1

输出

复制
Yes
No
Yes
No