#406. 苹果树

苹果树

说明


徐老师的庄园里有一棵苹果树,树上有  N  个节点被  N - 1  个树枝相连,徐老师分别将它们标号为  1  到  N  ,其中根为  1  号节点,每个节点开始的时候都有苹果,不过树上的苹果也是在变化的,有时某个节点会长出一个苹果,有时某个节点的苹果会被摘掉,徐老师想知道某时刻某节点及其子树上一共有多少苹果,请你帮帮他。

输入格式


输入第一行两个整数  N, M  ,表示一共有  N  个节点, M  次操作(节点状态更改或询问)( 1 <= N,M <= 10^6 )。

接下来  N - 1  行,每行两个数  u,v  ,表示在这棵树上  u  是  v  的父节点。( 1 <= u,v <= N )

接下来  M  行,每行一个字符  x  和一个数  y  ,如果  x  为`'Q'`,表示这一次是询问,询问节点  y  及其子树上一共有多少苹果,如果  x  为 `'C'` 表示节点  y  的状态需要更新(有苹果变为没有,没有苹果变为有)。

提示:由于数据量过大,建议大家使用`scanf`和`printf`接收和输出数据。

输出格式


对于每次询问输出一行,为查询的结果。

样例

3 2
1 2
1 3
C 2
Q 1
2