Andrewid the Android 是著名的银河系侦探。现在,他正为防止黑客攻击一个主要计算机网络做准备。
该网络有 n 个节点,一些节点对之间通过 m 条无向通道相连。计划通过这个网络传输 q 条重要消息,第 i 条消息必须通过一条或多条通道(可能经过一些中间节点)从节点 s_i 发送到节点 d_i。
为了防御攻击,设计了一种特殊算法。遗憾的是,它只能用于所有通道都是有向的网络。因此,由于不能新增通道,决定对于每一条已有的无向通道,只允许数据传递一个方向。
你的任务是判断能否为每条通道选择一个方向,使得所有 q 条消息都可以成功传递。
第一行包含三个整数 n、m 和 q(1 \le n, m, q \le 2 \cdot 10^5),分别表示节点数、通道数和重要消息数。
接下来的 m 行,每行包含两个整数 v_i 和 u_i(1 \le v_i, u_i \le n,v_i \neq u_i),表示节点 v_i 和 u_i 之间有一条无向通道。同一对节点之间可能有多条通道。
接下来 q 行,每行包含两个整数 s_i 和 d_i(1 \le s_i, d_i \le n,s_i \neq d_i),分别表示每条消息的源节点和目标节点。
并不保证在最初的网络中所有消息都可以被传递。
如果存在可行的方案,在一行内输出 Yes(不带引号),否则输出 No(不带引号)。
4 4 2 1 2 1 3 2 3 3 4 1 3 4 2
Yes
3 2 2 1 2 3 2 1 3 2 1
No
3 3 2 1 2 1 2 3 2 1 3 2 1
Yes
在第一个样例中,你可以这样给通道指定方向:1 \rightarrow 2、1 \rightarrow 3、3 \rightarrow 2、4 \rightarrow 3。则第一封信的路径为 1 \rightarrow 3,第二封信的路径为 4 \rightarrow 3 \rightarrow 2。
在第三个样例中,可以指定方向为:1 \rightarrow 2、2 \rightarrow 1、2 \rightarrow 3。则第一封信的路径为 1 \rightarrow 2 \rightarrow 3,第二封信的路径为 2 \rightarrow 1。