Time Limit: 1000 mSec Memory Limit : 32768 KB

John are playing with blocks. There are *N* blocks (1 ≤ *N* ≤ 30000) numbered 0..*N*-1. Initially, there are *N* piles, and each pile contains one block. Then John do some operations *P* times (1 ≤ *P* ≤ 1000000). 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.

The first line contains integer *P*. Then *P* lines follow, each of which contain an operation describe above.

Output the count for each C operations in one line.

6
M 1 6
C 1
M 2 4
M 2 6
C 3
C 4

1
0
2