编程题
### 问题描述
假设你正在分析一个社交网络,其中人们用节点表示,一共 $n$ 个节点,朋友关系用边表示。初始情况下,社交网络是一个连通图,即从任意一个节点出发,都能通过一系列的朋友关系到达任意另一个节点。所有节点的编号从 $1$ 到 $n$ 。
现在有多个人之间新增建立了朋友关系,你的任务是判断网络中的每个节点是否能通过朋友关系间接地与其他每个节点相连。
### 输入格式
第一行包含两个整数 $n$ 和 $m$ ,分别表示节点的数量和初始的边的数量。
接下来的 $m$ 行,每行包含两个整数 $a$ 和 $b$ ,表示节点 $a$ 和节点 $b$ 之间有一条边。
下一行包含一个整数 $k$,表示新增的边的数量。
接下来的 $k$ 行,每行包含两个整数 $c$ 和 $d$ ,表示新增节点 $c$ 和节点 $d$ 之间的边。
### 输出格式
如果所有的节点都可以间接地通过朋友关系与其他每个节点相连,则输出 $YES$ 。
否则,输出 $NO$ 。
### 样例输入
```
5 4
1 2
2 3
3 4
4 5
1
5 1
```
### 样例输出
```
YES
```
### 评测数据范围
$2 ≤ n ≤ 10^4$ ,$n-1 ≤ m ≤ \frac{n \times (n-1)}{2}$,$0 ≤ k ≤ 10^4$ 。