在把铃兰托付给罗德岛并离开前,铃兰的父母将一个“御守”郑重地交到了眼眶通红的铃兰手中。 “等到御守里不再有嘀嗒声,我们就回来了。” 在旁人听来,这像是个糊弄小孩子的约定。 但铃兰抽泣着点了点头。 “爸爸妈妈从不食言。”在那之后,铃兰是这样和朋友们说的。 所以,她一直随身带着那沉甸甸的小布袋。 每天到了睡觉时间,她会听听御守里的嘀嗒声,对着它说些想向父母倾诉的话,然后安然睡去。 夜夜如此。 曾有人怂恿铃兰拆开御守,把内里的东西关掉,但铃兰义正词严地拒绝了。 “御守怎么可以拆开呢,拆开就不灵了呀。” 其实她知道里面有什么,这很简单,仅凭触摸和常识就能知晓。 但她的选择是,相信,并等待。 一天,又一天。 终于,在某个中午,贴身口袋里的颤动停下了。 妈妈突然出现在身后,爸爸提着一个大袋子,脸上挂着她怀念的温和笑容。 对于承诺,这一对父母是从来不怠慢的。 这个家庭在罗德岛上短暂重逢,度过了数个值得铭记的日夜。 而很快地,他们又要再次分别。 这一次,父亲郑重地诵读了祷词并将御守启封,母亲则仔细检查表盘,并为怀表拧上发条。 他们完成了自己的部分,随后请铃兰系紧御守的绳线。 这场简单朴素的仪式没有持续多久,但每个人都很专注,很认真。 一位神职,一位杀手,一位干员。 一位父亲,一位母亲,一位女儿。 通过这个小小的御守,三个人的灵魂紧紧联系到一起。 因为尊重,所以信守承诺。 因为信赖,所以愿意忍耐。 大地将他们生生拆散。 但爱,跨越空间与时间,赋予他们重聚的力量。 “等到御守里不再有嘀嗒声,我们就回来了。” “在那之前,记得要准时睡觉哦~” “嗯!” “一路顺风!妈妈,爸爸!”
Alear 为了让铃兰不感到孤单,送给了铃兰小姐一棵神奇的小树。
这棵树每个节点都带有一种颜色,并且会随着时间不断生长。有些日子里,铃兰小姐想知道树上会有多少种颜色呢?当然,把整棵树都数一遍很辛苦的,她每次只会问以某个节点 u 为根的子树内有多少种不同的颜色。
Alear 需要立刻回答铃兰的问题,因此需要你的帮助。
第一行 $n,q$,表示当树生长到最后会有 $n$ 个节点,一共有 $q$ 个操作。
接下来 $q$ 行,每行为:
0 u f c
:表示一个新长出的节点,其父节点为 $f$ ,颜色为 $c$ ,特别的,第一行 表示 0 1 0 c
节点 $1$ 是颜色为 $c$ 根节点 。
1 u
:表示询问以节点 $u$ 为根的子树内颜色数 。
为了确认你能够立刻回答铃兰的问题,其中 $u$, $f$, $c$ 需要与上一次询问的答案求异或才能得到实际的输入。例如,当前询问为 1 u
,上一次询问产生的答案为 $last_{ans}$,则解密后实际询问的节点为 $u' = u \oplus last_{ans}$,你需要回答以 $u'$ 为根的子树中有多少种不同的颜色。这里的异或是指按位异或。
特别的,对于第一次询问,$last_{ans} =0$ 。
输入数据保证:
$1 \leq n \leq 2 \times 10^5$, $1 \leq q \leq 4 \times 10^5$
每行一个整数表示答案
5 10 0 1 0 1 1 1 0 3 0 0 1 3 0 5 3 3 1 0 0 1 0 0 1 6 0 4 2 3 1 4
· \n · · · \n · \n · · · \n · \n · · · \n · \n · · · \n · \n · · · \n · \n
1 1 2 1 1
\n \n \n \n \n
保证第一个被加入的节点为 $1$,每个节点恰好被加入 $1$ 次。
除了第一次生长时 $f=0$,保证节点 $f$ 已存在。
解密后 $1 \leq u, f, c \leq n$ ,保证询问操作的 $u$ 已存在。