树是一个连通、无环、无向图,包含 $n$ 个节点和 $n-1$ 条边。任意两个节点之间有且仅有一条路径。有根树是指选定一个特定节点作为根的树。
令 $T$ 为一棵树,$T_r$ 为以节点 $r$ 为根的树。$T_r$ 中 $u$ 的子树是所有满足从 $r$ 到 $v$ 的路径包含 $u$(包括 $u$ 本身)的节点 $v$ 的集合。在本题中,我们将以 $r$ 为根的树中 $u$ 的子树节点集合记为 $T_r(u)$。
给定 $q$ 次查询。每次查询包含两个(不一定不同)节点 $r$ 和 $p$。如果一个集合 $S$ 可以表示为以 $r$ 为根的树中的一个子树与以 $p$ 为根的树中的一个子树的交集,则称该集合 $S$ 是“可获得的”。形式化地,当且仅当存在节点 $u$ 和 $v$ 使得 $S = T_r(u) \cap T_p(v)$ 时,集合 $S$ 是“可获得的”。
对于给定的一对根,计算不同非空可获得集合的数量。当且仅当一个元素出现在一个集合中而未出现在另一个集合中时,两个集合被视为不同。
输入格式
第一行包含两个空格分隔的整数 $n$ 和 $q$ ($1 \le n, q \le 2 \cdot 10^5$),其中 $n$ 是树的节点数,$q$ 是需要回答的查询数。节点编号从 $1$ 到 $n$。
接下来的 $n-1$ 行,每行包含两个空格分隔的整数 $u$ 和 $v$ ($1 \le u, v \le n, u \neq v$),表示节点 $u$ 和 $v$ 之间的一条无向边。保证这组边构成一棵合法的树。
接下来的 $q$ 行,每行包含两个空格分隔的整数 $r$ 和 $p$ ($1 \le r, p \le n$),即给定查询的根节点。
输出格式
对于每次查询,输出一个整数,表示可以通过上述过程生成的不同可获得节点集合的数量。
样例
样例输入 1
5 2 1 2 2 3 2 4 4 5 1 3 4 5
样例输出 1
8 6
说明
第一棵树可能的根节点形态
考虑以 $1$ 和 $3$ 为根的情况,这 $8$ 个可获得的集合为: 1. $\{1\}$,通过选择 $u = 1, v = 1$; 2. $\{1, 2, 4, 5\}$,通过选择 $u = 1, v = 2$; 3. $\{1, 2, 3, 4, 5\}$,通过选择 $u = 1, v = 3$; 4. $\{2, 3, 4, 5\}$,通过选择 $u = 2, v = 3$; 5. $\{2, 4, 5\}$,通过选择 $u = 2, v = 2$; 6. $\{3\}$,通过选择 $u = 3, v = 3$; 7. $\{4, 5\}$,通过选择 $u = 2, v = 4$; 8. 以及 $\{5\}$,通过选择 $u = 5, v = 5$。
如果根节点改为 $4$ 和 $5$,则只有 $6$ 个可获得的集合: 1. $\{1\}$,通过选择 $u = 1, v = 1$; 2. $\{1, 2, 3\}$,通过选择 $u = 2, v = 4$; 3. $\{1, 2, 3, 4\}$,通过选择 $u = 4, v = 4$; 4. $\{1, 2, 3, 4, 5\}$,通过选择 $u = 4, v = 5$; 5. $\{3\}$,通过选择 $u = 3, v = 2$; 6. 以及 $\{5\}$,通过选择 $u = 5, v = 5$。
对于其中一些集合,存在其他选择 $u$ 和 $v$ 的方式来得到相同的集合。