维护一个长为 $n$ 的序列 $a_i$,有 $m$ 次操作。
- 将区间 $[l,r]$ 的值修改为 $x$。
- 询问区间 $[l,r]$ 出现了多少种不同的数,也就是说同一个数出现多次只算一个。
输入格式
第一行两个整数 $n,m$。
第二行 $n$ 个整数表示 $a_i$。
后面 $m$ 行每行为 $1\ l\ r\ x$ 或者 $2\ l\ r$ ,分别表示修改和询问。
输出格式
对于每个询问,输出一个数表示答案。
样例数据
样例输入
5 5
1 2 3 4 5
2 1 5
1 2 3 4
2 1 5
2 3 3
2 2 4
样例输出
5
3
1
1
子任务
Idea:nzhtl1477,Solution:nzhtl1477,Code:nzhtl1477,Data:nzhtl1477
$1\leq n , m \leq 10^5$,$1\leq a_i\leq 10^9$。