P2300【Month 5.三】何老板搬砖 | |
|
问题描述
暑假到了,你去给何老板打工,何老板问你会什么,你说只会搬砖。
于是,何老板想检验一下你搬砖的实力:
何老板有n块白色的方砖(编号1到n),他叫你把这n块按编号摆成了一条直线。
你以为摆成直线就完事了吗?何老板是个很古怪的人,他还不停的向你发号司令,他的命令有下列三种:
一.把第a到第b块砖换成颜色为c的砖。
二.把第a到第b块砖中颜色为c的砖换成颜色为d的砖。
三.回答第a到第b块砖中有哪几种不同的颜色。
你要快速给出每次提问的正确答案,不然你就得不到这份工作了!
(何老板的砖最多有7种不同的颜色,编号1到7,白色编号为1)。
输入格式
第一行,两个整数n和m。n表示砖的数量,m表示命令的条数。
接下来m行,表示m条命令,每条命令都是由整数构成,有如下三种可能的形式:
1 a b c 表示第一种命令
2 a b c d 表示第二种命令
3 a b 表示第三种命令
(输入保证a<=b)
输出格式
若干行,每行对应一个第三种命令的答案,输出能看到的颜色的编号(由小到大)
样例输入 1
5 4
1 2 4 5
1 3 5 2
2 1 3 2 3
3 1 4
样例输出 1
1 2 3 5
样例输入 2
20 15
1 9 9 2
2 9 17 5 4
1 1 19 3
1 9 16 2
2 11 17 7 2
2 6 17 1 4
2 9 9 7 7
2 3 20 3 5
1 13 18 5
3 16 19
3 11 19
3 11 11
2 11 16 7 3
1 5 6 4
3 5 10
样例输出 2
5
2 5
2
2 4 5
提示
【数据规模和约定】
对于50%的数据有:
n<=2000
m<=1000
对于100%的数据有:
n<=200000
m<=100000