#CF555E. Case of Computer Network

Case of Computer Network

markdown

E. 计算机网络问题

时间限制:每个测试点 33
内存限制:每个测试点 256256 MB
输入:标准输入
输出:标准输出

安德鲁机器人(Android)是一位闻名银河系的侦探。现在他正在准备防御黑客对某个大型计算机网络的潜在攻击。

该网络中有 nn 个节点,某些节点对之间通过 mm 条无向通道连接。计划通过该网络传输 qq 条重要消息,其中第 ii 条消息需要从节点 sis_i 发送到节点 did_i,可以通过一条或多条通道,也可能经过一些中间节点。

为了保护网络免受攻击,开发了一种特殊算法。不幸的是,该算法只能应用于包含有向通道的网络。因此,由于无法创建新通道,决定为每条现有的无向通道指定一个方向,使其只能单向传输数据。

你的任务是判断是否可以为每条通道选择方向,使得每条消息都能成功传输。

输入格式

第一行包含三个整数 nnmmqq1n,m,q21051 \le n, m, q \le 2 \cdot 10^5)—— 分别表示节点数、通道数和重要消息数。

接下来 mm 行,每行包含两个整数 viv_iuiu_i1vi,uin1 \le v_i, u_i \le nviuiv_i \ne u_i),表示节点 viv_iuiu_i 之间有一条通道。同一对节点之间可能存在多条通道。

接下来 qq 行,每行包含两个整数 sis_idid_i1si,din1 \le s_i, d_i \le nsidis_i \ne d_i)—— 分别表示对应消息的源节点和目标节点编号。

不保证初始情况下所有消息都能传输。

输出格式

如果存在一种方案,则输出一行 Yes(不含引号);否则输出一行 No(不含引号)。

样例

输入样例 1

4 4 2
1 2
1 3
2 3
3 4
1 3
4 2

输出样例 1

Yes

输入样例 2

3 2 2
1 2
3 2
1 3
2 1

输出样例 2

No

输入样例 3

3 3 2
1 2
1 2
3 2
1 3
2 1

输出样例 3

Yes

注释

在第一个样例中,可以按如下方式指定方向:121 \to 2131 \to 3323 \to 2434 \to 3。那么第一条消息的路径为 131 \to 3,第二条消息的路径为 4324 \to 3 \to 2

在第三个样例中,可以按如下方式指定方向:121 \to 2212 \to 1232 \to 3。那么第一条消息的路径为 1231 \to 2 \to 3,第二条消息的路径为 212 \to 1