题号:NC235622
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
牛可乐得到了编号从

到
)
的

块不同的积木,初始时每块积木单独为一列,牛可乐会对这些积木进行

次操作。操作分为两种:
- 牛可乐选择两个整数

,将编号为

的积木所在的列放到编号为

的积木所在列的正上方。
- 牛可乐选择一个整数

,并询问你编号为

的积木下方有多少块积木。
请你对每次询问操作输出正确答案。
输入描述:
第一行包含一个整数
,代表牛可乐的操作次数。
之后
行,每行代表一次操作,两种操作会以下形式给出:
-
,代表移动操作,数据保证编号为
的两块积木不会位于同一列。。
-
,代表询问操作。
注意本题不会给出
的值。
输出描述:
对于每个询问操作,输出一个整数,代表编号为
的积木下方有多少块积木。
示例1
输入
复制
6
M 1 3
M 2 4
C 3
C 2
M 4 5
C 2
说明
对于第一次询问,编号 3 的积木下方没有积木,答案为 0。
对于第一次询问,编号 2 的积木下方有积木 4,答案为 1。
对于第一次询问,编号 2 的积木下方有积木 4、5,答案为 2。