241488 - 树上 K 次祖先

题目描述

给定一棵有 n 个节点的树,节点编号为 1 ~ n,节点 1 为根节点。每个节点有一个父节点(根节点的父节点用 0 表示)。现在有 q 个查询,每个查询给出一个节点 u 和一个整数 k,要求你求节点 u 的第 k 级祖先。如果不存在,则返回 -1。

输入

第一行两个整数 n 和 q (1 ≤ n, q ≤ 10^5),分别表示节点数和查询数。

第二行 n 个整数 p[1..n],表示每个节点的父节点 p[i],如果节点 i 是根,则 p[i] = 0。

接下来的 q 行,每行两个整数 u 和 k,表示一次查询。

输出

对每个查询输出一个整数,表示第 k 级祖先,如果不存在则输出 -1。

样例

输入

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

输出

2
1
-1
说明

对于所有的数据,保证:

1 ≤ n, q ≤ 10^5

题目参数
时间限制 1 秒
内存限制 128 MB
提交次数 5
通过人数 3
金币数量 2 枚
难度 基础


上一题 下一题