[R1D]传送 - 代码源竞赛平台

时空限制

1S/512M

题目描述

给定 nn 个格子和一个长度为 nn 的正整数数组 A1,A2,...,AnA_1,A_2,...,A_n,当你位于格子 ii 时,下一秒你会被传送到格子 AiA_i。

有 qq 个询问,第 ii 个询问需要求如果初始位于格子 sis_i, cic_i 秒后你的位置。

格式

输入格式

第一行包含一个正整数 nn,表示格子的数量。

第二行包含 nn 个正整数,分别表示位于每个格子时下一秒的传送位置。

第三行包含一个正整数 qq,表示询问的数量。

接下来 qq 行,每行包含两个正整数 sis_i 和 cic_i,表示询问如果初始位于格子 sis_i, cic_i 秒后你的位置。

输出格式

对于每个询问,在单独的一行中输出一个整数,表示答案。

样例

样例输入 #1

5
2 3 5 4 1
2
1 3
4 10086

样例输出 #1

5
4

数据规模

对于 100%100\% 的数据, 1≤n,q≤2×1051\leq n,q\leq 2\times 10^5, 1≤Ai,si≤n1\leq A_i,s_i\leq n, 1≤ci≤1091\leq c_i\leq 10^9。

测试点编号 n n cic_i qq
1~2 ≤2000\leq 2000 ≤20000\leq 20000 ≤2×105\leq 2\times 10^5
3 ≤2×105\leq 2\times 10^5 ≤20\leq 20
4~5 ≤2×105\leq 2\times 10^5 ≤10\leq 10
6~10 ≤109\leq 10^9 ≤2×105\leq 2\times 10^5