#P16674. [Ctu2021]Bread Pit

[Ctu2021]Bread Pit

题目描述

新培育的地下细菌能够帮助改造火星环境。这些细菌主要以普通面包为食。面包在火星表面大量烘烤,随后被投入一个专门建造的深坑中。

为了把面包均匀地分配到地下,深坑由近乎竖直的隧道组成,并形成一棵树。

每条隧道的终点是以下两种节点之一:

  • 一个生活着细菌群落的洞穴;
  • 一个连接着一条或多条向下隧道的闸门。

每个闸门在任意时刻只打开一条向下的隧道。

当一块面包经过闸门并落入当前打开的隧道后:

  1. 当前隧道被关闭;
  2. 闸门打开它所连接的下一条隧道,供下一块面包使用。

各条向下隧道按照固定顺序循环打开。当最后一条隧道关闭后,闸门会再次打开第一条隧道。

至多有一个闸门位于地表。所有进入至少一条隧道的面包都会先经过这个最上方的闸门。

有一种特殊情况:最上方的闸门可能因为维护而完全关闭。此时所有隧道均不可进入,面包会留在地表。为了统一定义,这种情况下把地表看成一个洞穴,同时也是整个系统中唯一的节点。

系统刚开始运行、尚未投入任何面包时,每个闸门都打开其顺序中的第一条向下隧道。

洞穴和闸门统称为节点,每个节点都有唯一的整数编号。

现在依次向深坑中投入 QQ 块面包。请确定每一块面包最终落入哪个洞穴。

输入格式

第一行包含两个整数 N,QN,Q

1N,Q3105,1\le N,Q\le3\cdot10^5,

分别表示节点总数和投入的面包数量。

节点编号为

0,1,,N1.0,1,\ldots,N-1.

地表闸门的编号为 00

第二行包含 N1N-1 个整数。第 ii 个整数表示节点 ii 的前驱节点编号,其中这里的 ii 依次为

1,2,,N1.1,2,\ldots,N-1.

节点的前驱是面包到达该节点前经过的最近闸门。

第二行还同时确定每个闸门的出口顺序:

若数值 XX 分别出现在第 jj 个和第 kk 个位置,且 j<kj<k,那么连接 XX 与节点 jj 的隧道,会先于连接 XX 与节点 kk 的隧道打开。

输出格式

输出 QQ 行。

ii 行输出第 ii 块面包最终落入的洞穴编号。

样例 1

输入

5 5
0 0 1 1

输出

3
2
4
2
3

样例 2

输入

7 10
0 0 0 2 2 2

输出

1
4
3
1
5
3
1
6
3
1