给定一棵有 $n$ 个顶点的树,顶点编号从 $1$ 到 $n$。树的每个顶点上都有一只蚂蚁。初始时,在每个顶点 $i$ 上都有一只编号为 $i$ 的蚂蚁。
你将收到 $q$ 次询问。每次询问 $j$ 包含一只需要帮助的蚂蚁的编号 $a_j$。在询问 $j$ 期间,每只蚂蚁都会向距离蚂蚁 $a_j$ 最近的相邻顶点移动;如果蚂蚁已经位于该顶点,则保持不动。每次询问后,请输出位于同一顶点的蚂蚁对的总数。
注意,这些变化在询问之间是持续的:例如,当蚂蚁需要移动到 $a_2$ 时,它们的位置已经是移动到 $a_1$ 之后的位置了。还要注意,每次询问要求移动到蚂蚁 $a_j$ 所在的位置,该蚂蚁最初位于顶点 $a_j$,但在询问时可能已经移动到了其他顶点。
输入格式
第一行包含一个整数 $n$,表示树的大小 ($2 \le n \le 10^5$)。
接下来的 $n-1$ 行,每行包含两个整数 $u$ 和 $v$,描述树的一条边 ($1 \le u, v \le n$)。保证给定的边构成一棵树。
下一行包含一个整数 $q$,表示询问次数 ($1 \le q \le 10^5$)。
接下来的 $q$ 行,每行包含一个整数 $a_1, a_2, \dots, a_q$,表示询问中指定的蚂蚁编号 ($1 \le a_j \le n$)。
输出格式
对于每次询问,输出一行,包含该次询问后位于同一顶点的蚂蚁对的数量。
样例
样例输入 1
5 1 2 1 3 2 4 2 5 5 1 1 3 3 5
样例输出 1
4 10 10 10 10
样例输入 2
8 1 2 1 3 2 4 2 5 3 6 3 7 7 8 6 1 3 4 2 5 6
样例输出 2
5 21 28 28 28 28