#ds900. 树上LCA2

树上LCA2

树上LCA2

题目描述

给你一棵 nn 个节点的以 11 号节点为根的树,节点的编号为 11 到 nn。现在有 mm 组询问,对于每组询问 u,vu, v,请求出 uu 号节点和 vv 号节点的最近公共祖先。

输入格式

第一行一个整数 nn 表示节点数。

接下来 n−1n - 1 行,每行两个整数 x,yx, y 表示 xx 号节点和 yy 号节点之间有一条边。

输入保证是一棵树。

接下来一行一个整数 mm 表示询问数。

接下来 mm 行,每行两个整数 u,vu, v 表示一组询问。

输出格式

输出共 mm 行,对于每组询问,输出一行一个整数表示对应的两个点的最近公共祖先的编号。

样例输入

4
1 2
1 3
3 4
2
1 2
2 4

样例输出

1
1

数据范围

对于所有数据,保证 1≤n,m≤100000,1≤u,v≤n1\leq n, m\leq 100000, 1 \le u, v \le n。