#L2656. 「POI2007 R2」大都市 Megalopolis

    ID: 5174 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>树结构树链剖分数据结构树状数组搜索DFS差分DFS序欧拉序路径查询边权更新

「POI2007 R2」大都市 Megalopolis

题目描述

Byteotia 在 nn 个村之间送信。村子之间是一个树形结构,任何两个村子之前恰有一条路径,随着经济发展,越来越多的土路被改造成公路。Byteotia 能回忆起他的送信路程和土路改造成公路的过程,你需要帮助 Byteotia 求出他每次行程经过的土路个数。

输入格式

第一行一个整数 nn (1n2500001 \le n \le 250\,000),表示村庄的个数。

接下来 n1n-1 行每行两个整数 a,ba,b (1a<bn1 \le a \lt b \le n),表示村庄之间的道路。

接下来一行一个整数 mm (1m2500001 \le m \le 250\,000),表示 Byteasar 的行程次数。

接下来 n+m1n + m -1 行,按时间顺序给出事件:

  • 如果该行为 A a b (a<ba \lt b),表示 aabb 之间的土路被改造成了公路。
  • 如果该行为 W a,表示 Byteotia 从 11 号村庄到了 aa 号村庄。

输出格式

输出 mm 个整数,表示 Byteotia 每次行程经过的土路个数。

样例

输入

5
1 2
1 3
1 4
4 5
4
W 5
A 1 4
W 5
A 4 5
W 5
W 2
A 1 2
A 1 3

输出

2
1
0
1