统计树中满足指定条件的可删除节点数目
类型:程序题

题面描述

小杨有一棵包含 $n$ 个节点的树,其中节点的编号从 1 到 $n$。 小杨设置了 $a$ 个好点对 $\langle u_1, v_1 \rangle, \langle u_2, v_2 \rangle, \dots, \langle u_a, v_a \rangle$ 和1个坏点对 $\langle b_u, b_v \rangle$。一个节点能够被删除,当且仅当:

  1. 删除该节点后对于所有的 $i (1 \le i \le a)$,好点对 $u_i$ 和 $v_i$仍然连通;
  2. 删除该节点后坏点对 $b_u$ 和 $b_v$不连通。

如果点对中的任意一个节点被删除,其视为不连通。 小杨想知道,有多少个节点能够被删除。

输入格式

第一行包含两个正整数 $n, a$,含义如题面所示。 之后 $n - 1$行,每行包含两个正整数 $x_i, y_i$,代表存在一条连接节点 $x_i$ 和 $y_i$的边。 之后$a$ 行,每行包含两个正整数 $u_i, v_i$,代表一个好点对 $\langle u_i, v_i \rangle$。 最后一行包含两个正整数 $b_u, b_v$,代表坏点对 $\langle b_u, b_v \rangle$。

输出格式

输出一个正整数,代表能够删除的节点个数。

输入样例

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

输出样例

2

数据范围

子任务编号 分值 $n$ $a$
1 20% $10$ $0$
2 20% $\le 100$ $\le 100$
3 60% $\le 10^6$ $\le 10^5$

对于全部数据,保证有 $1\le n \le 10^6$, $0\le a \le 10^5$, $u_i \ne v_i$, $b_u \ne b_v$。

代码编辑器