给定一棵包含 $N$ 个顶点的树(无环连通无向图)。顶点编号从 $1$ 到 $N$,边编号从 $1$ 到 $(N-1)$。
请编写一个程序来执行以下查询:
- $u$ $v$:对于所有顶点 $x$($1 \le x \le N$),输出 $\operatorname{dist}(x, u) + \operatorname{dist}(x, v)$ 的最大值。($1 \le u, v \le N$)
其中 $\operatorname{dist}(x, y)$ 定义为从顶点 $x$ 到顶点 $y$ 的最短路径上的边数。对于树中的所有顶点 $x$,$\operatorname{dist}(x, x) = 0$。
输入
第一行给定树的顶点数 $N$。($2 \le N \le 300000$)
接下来的 $(N-1)$ 行给出树的信息。其中第 $i$ 行包含两个整数,表示第 $i$ 条边连接的两个顶点编号。
下一行给出查询次数 $Q$。($2 \le Q \le 300000$)
接下来的 $Q$ 行,每行给出一个查询。
输出
按顺序输出 $Q$ 个查询的结果,每个结果占一行。
样例
输入格式 1
5 1 2 2 3 2 4 4 5 3 1 3 1 5 2 3
输出格式 1
6 5 5