编程题
镜中的昆虫
### 题目描述
您正在欣赏 galgame 的 HS,然后游戏崩溃了,于是您只能做数据结构题了:
维护一个长为 $n$ 的序列 $a_i$,有 $m$ 次操作。
1. 将区间 $[l,r]$ 的值修改为 $x$。
2. 询问区间 $[l,r]$ 出现了多少种不同的数,也就是说同一个数出现多次只算一个。
### 输入描述
第一行两个整数 $n,m$。
第二行 $n$ 个整数表示 $a_i$。
后面 $m$ 行每行为 $1\ l\ r\ x$ 或者 $2\ l\ r$ ,分别表示修改和询问。
其中,$1\leq n , m \leq 10^5$,$1\leq a_i\leq 10^9$。
### 输出描述
对于每个询问,输出一个数表示答案。
### 输入输出样例
#### 示例 1
>输入
```txt
5 5
1 2 3 4 5
2 1 5
1 2 3 4
2 1 5
2 3 3
2 2 4
```
>输出
```txt
5
3
1
1
```