#L6115. 「2017 山东二轮集训 Day6」汇合

    ID: 5791 传统题 1000ms 512MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>最近公共祖先树上倍增树的基本操作预处理与查询

「2017 山东二轮集训 Day6」汇合

题目描述

nn 个人,他们构成了一颗有根树,每个人只能往他的父亲走。现在有 mm 个询问,每次询问 AABB 想要汇合的话,最近汇点是哪一个。

输入格式

第一行两个正整数 nn mm。 接下来 n1n - 1 行每行一个正整数,依次表示点 2n2 \sim n 的父亲,保证每个点的父亲小于它本身。 接下来 mm 行每行两个数表示一个询问。

输出格式

对每个询问单独输出一行表示答案。

样例

输入:

5 2
1
1
2
2
3 5
4 5

输出:

1
2

数据范围与提示

n900000,m100000n \leq 900000, m \leq 100000