题目描述
圣塞里夫观鸟协会的内部结构十分庞大,并且会不断发生变化。
协会共有 n 个分会,每名成员恰好属于一个分会。分会编号为 1,2,…,n,第 i 个分会有 mi 名成员,因此协会的成员总数为
M=m1+m2+⋯+mn.
每个分会由该分会的一名成员领导,这名成员称为该分会的秘书。秘书的编号与分会编号相同,即秘书 i 负责第 i 个分会。
所有秘书通过“导师关系”组成一棵有根树:
- 除一人外,每名秘书都有一名导师,导师也是某个分会的秘书;
- 唯一没有导师的秘书称为协会的主席;
- 若秘书 a 是秘书 b 的导师,则称秘书 b 是秘书 a 的直接下属;
- 不存在任何秘书直接或间接成为自己的导师。
因此,从任意秘书开始不断沿导师关系向上走,最终都会到达主席。
一名秘书的影响力定义为:其所在分会的成员数,加上其所有直接下属的影响力之和。等价地,秘书 i 的影响力就是以 i 为根的子树中所有分会的成员总数。
主席的影响力始终为 M。若一名秘书的影响力满足
influence(i)≥2M,
则称其为高级秘书。
协会章程规定:在所有高级秘书中,影响力最小的那一名担任协会的财务主管。
有时,一名非主席秘书会更换导师。设秘书 x 原本是秘书 y 的直接下属,现在将其整棵子树从 y 处断开,并把秘书 x 改为秘书 z 的直接下属。为了保证结构仍是一棵树,z 不能等于 x,也不能位于 x 的子树中。
每次更换导师后,一些秘书的影响力可能发生变化,财务主管也可能随之改变。
任务
给定协会的初始结构以及 q 次更换导师操作,请输出初始状态下的财务主管,并在每次操作后再次输出当前的财务主管。
输入格式
第一行包含两个整数 n,q,分别表示分会数量和更换导师操作的次数。
接下来 n 行描述协会的初始状态。第 i 行包含两个整数 si,mi:
- si 表示秘书 i 的导师;
- mi 表示第 i 个分会的成员数;
- 若 si=0,则秘书 i 是主席,没有导师。
接下来 q 行描述操作。第 j 行包含两个整数 x^j,z^j。
设 tj 表示完成前 j 次操作后担任财务主管的秘书编号,其中 t0 表示初始状态下的答案。第 j 次操作中的真实编号为
xj=1+((tj−1+x^j)modn),
zj=1+((tj−1+z^j)modn).
随后,把秘书 xj 的导师改为秘书 zj。
这种编码方式保证你必须按输入顺序处理所有操作。
所有操作均保证合法:
- zj=xj;
- zj 不在 xj 的子树中;
- 允许 zj 原本就是 xj 的导师,此时树的结构实际上不会改变。
注意:若程序在某一步求错了 tj,之后会错误解码操作,甚至可能得到非法操作并导致运行时错误,而不一定只是答案错误。
输出格式
输出 q+1 行,依次为
t0,t1,…,tq,
其中 tj 表示完成前 j 次操作后的财务主管编号。
数据范围
- 1≤n≤1000000;
- 1≤q≤30000;
- 对所有 i,mi≥1;
- m1+m2+⋯+mn≤109;
- 对所有 j,1≤x^j,z^j≤n。
子任务
| 子任务 |
分值 |
附加限制 |
| 1 |
15 |
n≤100 |
| 2 |
10 |
n≤1000 |
| 3 |
50 |
n≤300000 |
| 4 |
25 |
无附加限制 |
样例
输入
7 2
0 1
1 3
1 3
2 3
2 1
5 2
5 1
3 7
2 7
输出
2
2
3
样例说明
初始状态下,秘书 2 是财务主管,因此 t0=2。
第一次操作读入 x^1=3,z^1=7,解码得到
x1=1+((2+3)mod7)=6,
z1=1+((2+7)mod7)=3.
于是秘书 6 的导师改为秘书 3。操作后秘书 2 仍是财务主管,即 t1=2。
第二次操作读入 x^2=2,z^2=7,解码得到
x2=1+((2+2)mod7)=5,
z2=1+((2+7)mod7)=3.
于是秘书 5 的导师改为秘书 3,秘书 3 成为新的财务主管,即 t2=3。