给定一棵由 个点组成的以点 为根的多叉树,有 次询问,每次给定两个节点 ,你需要求出这两个节点的 最近公共祖先。 【名词解释】 最近公共祖先(LCA):两个节点在树中深度最大的共同祖先节点。
输入描述:
第一行包含三个正整数 ,分别表示树的结点个数、询问的个数和树根结点的序号。接下来  行每行包含两个正整数 (),表示  结点和  结点之间有一条直接连接的边(数据保证可以构成树)。接下来  行每行包含两个正整数 (),表示询问  结点和  结点的最近公共祖先。


输出描述:
输出包含  行,每行包含一个正整数,依次为每一个询问的结果。
示例1

输入

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

输出

4
4
1
4
4

说明

该树结构如下:

第一次询问:2, 4 的最近公共祖先,故为 4

第二次询问:3, 2 的最近公共祖先,故为 4

第三次询问:3, 5 的最近公共祖先,故为 1

第四次询问:1, 2 的最近公共祖先,故为 4

第五次询问:4, 5 的最近公共祖先,故为 4

故输出依次为 4, 4, 1, 4, 4
加载中...