# 贝壳统计
A海滩上放置了一串由不同种类的贝壳组成的贝壳项链。贝壳项链按一条直线顺序放置。现在小Z从I海滩回到了A海滩，他很感兴趣这个海滩上的贝壳情况，希望你帮助他实现以下3个任务。

1. 统计$[L, R]$区间上贝壳的种类数；
2. 更换某一位置贝壳的类别；
3. 在某一位置之后放置一个新的贝壳。

### 输入
输入包含若干行，第一行包含两个整数$N, M$，其中$N$代表贝壳的个数，$M$代表操作数。

第二行包括$N$个数代表贝壳的种类，数值范围为$0$至$N-1$的整数。

第三行至第$M+2$行代表具体操作，操作为以下三类：

* 1 $L$ $R$：查询$[L, R]$区间上贝壳的种类数，$L$和$R$为1-based下标。
* 2 $P$ $V$：更换第$P$个位置的贝壳为$V$，保证$V$为$0$至$N-1$的整数，下标为1-based下标。
* 3 $P$ $V$：在第$P$个位置后插入一个编号为$V$的贝壳，保证$V$为$0$至$N-1$的整数，下标为1-based下标。

### 输出
对于每一个查询，输出查询的结果。