Coding is the closest thing we have to superpower !

3690 : 线段树-苹果树
描述

给定一个包含N个结点的苹果树,结点从1到N编号,树根为1。

苹果会长在某些结点上,但是两个苹果不会同时长在一个结点上。

随着时间的推移,苹果会被摘走,或者某些结点又长出新苹果。

现在我们想知道在某个时刻某个子树中有多少苹果。

16905051734456.png
输入

第一行输入一个整数N (1 \le N \le 10^5)

接下来N-1行,每行有两个整数u, v(1 \le u, v \le N),表示u和v之间有一条边。
接下来有一个整数M(1 \le M \le 10^5),表示操作次数。

接下来M行,每行给出一个操作:

"x" 表示结点x上的苹果状态发生了变化:如果本来有苹果,那么就摘掉它;如果没有就会长出一个苹果。
"x" 表示查询以x为根的子树中有多少苹果。

一开始树上是长满苹果的。

输出

对于查询操作,输出一个整数表示答案。

样例

输入

3
1 2
1 3
3
Q 1
C 2
Q 1

输出

3
2
标签
语言:
主题: