Problem3190--艺术涂鸦

3190: 艺术涂鸦

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 0  Solved: 0
[Status] [Submit] [Creator:]

Description

某市想对一面墙进行艺术涂鸦,找来了画家进行涂色,墙是由N个小段组成了,每一段的长度是1寸,这N个小段从左到右编号一次为1到N。一共有30种颜色可以供这个画家来用,颜色的编号依次为1到30.
假设一开始,墙上涂的是编号为2的颜色,每次画家可以使用同一种颜色涂多个小段。在这个过程中一共需要进行多个操作,操作一共有两种:
①“P a b c”表示画家把编号从a到b的小段涂上颜色c
②“Q a b”表示询问画家编号从a到b的小段一共涂上了多少种不同的颜色
现在需要你帮助画家来回答这些询问。

Input

输入包含多组测试数据,对于每组测试数据:
第一行包含两个整数N和M,分别表示墙上小段的数量以及接下来操作的数量M,0<N≤10^6,0<M≤10^5
接下来M行每行表示一个操作,操作是“P a b c”或者是“Q a b”,0<a<=b<=N
当输入为N=0,M=0时,表示输入结束

Output

对于每个询问操作,输出询问中的片段涂了哪些颜色,依次输出颜色编号并从小到大输出

Sample Input Copy

5 10
P 1 2 3
P 2 3 4
Q 2 3
Q 1 3
P 3 5 4
P 1 2 7
Q 1 3
Q 3 4
P 5 5 8
Q 1 5
0 0

Sample Output Copy

4
3 4
4 7
4
4 7 8

Source/Category

 level8