Maishroom & Mushroom

时间限制:20s      空间限制:1024MB

题目描述

Maishroom有一个蘑菇,我们不妨称它为蘑菇1。蘑菇上有n个room,这些room按1..n编号,并组成了一棵树,其中room 1是根。由于Maishroom长期没有修剪,蘑菇1的每个room 里都长满了杂草。
众所周知Maishroom非常喜欢蘑菇,于是它对这个蘑菇进行了一系列操作,包括复制、合并、修剪和询问。这些操作的具体说明如下:
操作 格式 说明
复制 1 u Maishroom复制了蘑菇u,新的蘑菇编号为cnt+1。
合并 2 u v Maishroom将蘑菇v合并到了蘑菇u上。当然,如果某个旧蘑菇的某个room有杂草,新的蘑菇u的对应room中也会有杂草。合并完后蘑菇v不会消失。
修剪1 3 u v Maishroom除去了蘑菇u上以room x为根的子树上的杂草。
修剪2 4 u v Maishroom几乎除去了蘑菇u上所有的杂草,除了以room x为根的子树上的那些。
修剪3 5 u x y Maishroom除去了蘑菇u上room x到room y 路径上的杂草。
修剪4 6 u x y Maishroom几乎除去了蘑菇u上所有的杂草,除了room x到room y路径上的那些。
修剪5 7 u l r Maishroom除去了蘑菇u上编号在L到r之间(包括L,R)的room中的杂草。
修剪6 8 u l r Maishroom几乎除去了蘑菇u上所有的杂草,除了编号在L到r之间(包括L,r)的room 中的那些。
询问 9 u w Maishroom想知道清除蘑菇u上所有杂草所需的时间。Maishroom有一种工具来清除蘑菇上的杂草,每使用一次Maishroom可以选定一个蘑菇上编号的极差不超过w的一些room并清除它们中的杂草,使用一次消耗一个单位的时间。
注:表中的cnt表示该操作进行之前Maishroom拥有的蘑菇数。
现在有一份Maishroom的操作记录,你的任务是回答Maishroom的每个询问。


输入格式

第一行一个整数n,表示蘑菇上room的个数。
接下来n-1行,每行两个整数x,y,表示room x,y之间有一条边。
接下来一行一个整数q,表示Maishroom的操作次数。
接下来q行,每行表示Maishroom的一个操作。


输出格式

对于每个询问输出一行表示该询问的答案。


样例输入

5
1 3
3 5
1 2
2 4
9
1 1
1 2
5 3 4 5
9 3 0
2 3 2
6 3 4 5
9 3 1
4 2 2
9 2 1

样例输出

0
3
2

提示

N<=50000,Q<=100000,W[0,200]中随机


题目来源

没有写明来源

Menuappsclose