编程题
### 问题描述
暑假到了,小蓝打完蓝桥杯去工厂兼职,成为了工厂里的搬运工,工厂里面初始有 $n$ 个箱子平铺在地面上,每个箱子都有一个编号,分别是 ${1,2,3...n}$。由于小蓝喜欢算法竞赛,他想到了一个问题。
现在有 $2$ 种操作,具体操作如下:
1. `1 a b`,$1$ 号操作,将 $a$ 位置所在的所有箱子搬到 $b$ 位置所在的箱子上面,已经在相同位置的箱子不能进行此操作。
2. `2 a` ,$2$ 号操作,查询 $a$ 位置下有多少个箱子。
现在小蓝有 $q$ 次操作,对于每次操作 $2$ ,你需要输出结果。
### 输入格式
第一行二个整数 $n,q$ ,表示箱子的数量和操作次数。
接下来 $q$ 行,每行输入代表一个具体操作。
### 输出格式
对所有的操作 $2$ ,输出其结果。
### 样例输入
```text
6 6
1 4 2
2 2
2 4
1 2 3
2 2
2 4
```
### 样例输出
```text
0
1
1
2
```
### 说明

在第一次操作后,$4$ 下面是 $2$ 号箱子。
在第二次操作后,$4$ 下面是 $2$ 号箱子,$2$ 下面是 $3$ 号箱子。
### 评测数据规模
$1 \le n \le 3×10^4,1 \le q \le 10^5$。