10160: HDU2818 - Building Block
[Creator : ]
Description
John are playing with blocks. There are $N\ (1\leq N \leq 30,000)$ blocks numbered $1...N$.
Initially, there are $N$ piles, and each pile contains one block. Then John do some operations $P\ (1\leq P \leq 1,000,000)$ times.
There are two kinds of operation:
M X Y : Put the whole pile containing block X up to the pile containing Y. If X and Y are in the same pile, just ignore this command.
C X : Count the number of blocks under block X
You are request to find out the output for each C operation.
Initially, there are $N$ piles, and each pile contains one block. Then John do some operations $P\ (1\leq P \leq 1,000,000)$ times.
There are two kinds of operation:
M X Y : Put the whole pile containing block X up to the pile containing Y. If X and Y are in the same pile, just ignore this command.
C X : Count the number of blocks under block X
You are request to find out the output for each C operation.
Input
The first line contains integer $P$.
Then $P$ lines follow, each of which contain an operation describe above.
Then $P$ lines follow, each of which contain an operation describe above.
Output
Output the count for each C operations in one line.
Sample 1 Input
6
M 1 6
C 1
M 2 4
M 2 6
C 3
C 4
Sample 1 Output
1
0
2