#1010. 序列

序列

【题目描述】

维护一个长度为n的序列ai,有m次操作,操作分为两种:

(1)将区间[l,r]的值修改为x。

(2)询问区间[l,r]内出现了多少种不同的数。

【输入数据】

第一行两个整数n,m,第二行n个整数a1~an,接下来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

【数据范围】

对于10%的数据,n,m<=1000。

对于另外20%的数据,不存在修改操作。

对于另外20%的数据,修改操作中l=r。

对于另外30%的数据,数据中除n,m以外都是随机的。

对于100%的数据,1<=n,m<=10^5,1<=ai,x<=10^9。