5189 - 提高:DFS序和欧拉序:苹果树(单点修改)
Time Limit : 2 秒
Memory Limit : 128 MB
卡卡的房子外面有一棵苹果树。每年秋天,树上都会长出很多苹果。卡卡非常喜欢苹果,所以他一直在精心培育这棵大苹果树。 这棵树有N个叉,它们由树枝相连。卡卡用1到N对叉子进行编号,而根总是用1进行编号。苹果会生长在叉子上,而两个苹果不会生长在同一个叉子上。卡卡想知道一棵子树上有多少苹果,以研究苹果树的生产能力。 问题是,一个新苹果可能会在一个空叉子上长出来,卡卡可能会从树上摘一个苹果作为他的甜点。你能帮助卡卡吗?
Input
第一行包含一个整数N(N≤100000),它是树中叉的数量。 下面的N-1行分别包含两个整数u和v,这意味着u和v由一个连接。 下一行包含一个整数M(M≤100000)。 以下M行各包含一条消息 “Cx”表示叉x上苹果的存在已经改变。如果叉子上有一个苹果,卡卡就去摘;否则,空叉子上就长出了一个新苹果。 或 “Q x”表示查询叉x上方子树中的苹果数量,包括叉x上的苹果(如果存在) 注意树一开始就长满了苹果
Output
对于每个查询,每行输出相应的答案。
Examples
Input
3 1 2 1 3 3 Q 1 C 2 Q 1
Output
3 2