道路相遇
题目描述
在 H 国的小 w 决定到从城市 $u$ 到城市 $v$ 旅行,但是此时小 c 由于各种原因不在城市 $u$,但是小 c 决定到在中途与小 w 相遇
由于 H 国道路的原因,小 w 从城市 $u$ 到城市 $v$ 的路线不是固定的,为了合理分配时间,小 c 想知道从城市 $u$ 到城市 $v$ 有多少个城市小 w 一定会经过,特别地,$u, v$ 也必须被算进去,也就是说无论如何答案不会小于 2
由于各种特殊的原因,小 c 并不知道小 w 的起点和终点,但是小 c 知道小 w 的起点和终点只有 $q$ 种可能,所以对于这 $q$ 种可能,小 c 都想知道小 w 一定会经过的城市数
H 国所有的边都是无向边,两个城市之间最多只有一条道路直接相连,没有一条道路连接相同的一个城市
任何时候,H 国不存在城市 $u$ 和城市 $v$ 满足从 $u$ 无法到达 $v$
输入输出格式
输入格式
第一行两个正整数 $n,m$,表示 H 国的城市数,以及道路数。
下面 $m$ 行,每行两个不同的正整数 $u, v$,表示城市 $u$ 到城市 $v$ 之间有一条边。
然后一行一个正整数 $q$。
接下来 $q$ 行,每行两个正整数 $u, v$ 表示小 w 旅行的一种可能的路线
输出格式
输出共 $q$ 行,每行一个正整数
输入输出样例
输入样例 #1
5 6
1 2
1 3
2 3
3 4
4 5
3 5
1
1 5
输出样例 #1
3
说明
从城市 $1$ 到城市 $5$ 总共有 $4$ 种可能 :
$1 \to 2 \to 3 \to 4 \to 5$
$1 \to 2 \to 3 \to 5$
$1 \to 3 \to 4 \to 5$
$1 \to 3 \to 5$
可以发现小 w 总会经过城市 $1,3,5$,所以答案为 $3$
你可以认为小 w 不会经过相同的城市两次,当然,如果你认为可以经过相同的城市两次也不会影响答案
subtask1 : 15分,$m = 5, q = 50$
subtask2 : 15分,$n = 100, q = 5000$
subtask3 : 20分,$n = 3000, q = 5\times 10^5$
subtask4 : 20分,$n = 499999, q = 5 \times 10^5, m = n-1$
subtask5 : 30分,$n = q = 5 \times 10^5$
对于所有数据 : $1\leq n\leq 5 \times 10^5, 1\leq q\leq 5\times 10^5, 1\leq m\leq \min(\frac{n(n-1)}{2}, 10^6)$