Coding is the closest thing we have to superpower !
描述
给定一个包含N个结点的苹果树,结点从1到N编号,树根为1。
苹果会长在某些结点上,但是两个苹果不会同时长在一个结点上。
随着时间的推移,苹果会被摘走,或者某些结点又长出新苹果。
现在我们想知道在某个时刻某个子树中有多少苹果。
输入
第一行输入一个整数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行,每行给出一个操作:
"C x" 表示结点x上的苹果状态发生了变化:如果本来有苹果,那么就摘掉它;如果没有就会长出一个苹果。
"Q x" 表示查询以x为根的子树中有多少苹果。
一开始树上是长满苹果的。
输出
对于查询操作,输出一个整数表示答案。
样例
输入
3 1 2 1 3 3 Q 1 C 2 Q 1
输出
3 2
标签