#2536. 玩链子

玩链子

Description

有一条链子,上面有nn 颗钻石,钻石编号为11nn 。可以对该链子执行两种操作:

CCUUTT aa bb cc 区间切割操作,切下从第aa 颗钻石到第bb 颗钻石的链子,把它插在剩余链子的第cc 颗钻石后面;比如nn 等于88,链子是11, 22, 33, 44, 55, 66, 77, 88,对该链子执行CCUUTT 33 55 44,会切下33, 44, 55链子,剩下11, 22, 66, 77, 88链子,把33, 44, 55链子插入第44颗钻石之后,现在的链子是11, 22, 66, 77, 33,44, 55, 88

FFLLIIPP aa bb 区间反转操作,切下从第aa 颗钻石到第bb 颗钻石的链子,把链子倒过来放回原来的位置,比如在链子11, 22, 66, 77,33, 44, 55, 88上执行FFLLIIPP 22 66,则得到的链子是11, 44, 33, 77, 66, 22, 55,88

那么执行mm 种操作后,链子的外观是怎样的呢?

Input

输入包括多个测试用例,在测试用例的第11行都输入两个数字nnmm 11nnmm 33×10510^5 ,分别表示链子的钻石总数和操作次数。接下来的mm 行,每行都输入CCUUTT aa bb cc 或者FFLLIIPP aa bbCCUUTT aa bb cc表示切割操作,11aa bb nn00cc nn -((bb -aa +11))FFLLIIPP aa bb 表示反转操作,11aa <<bb nn 。输入结束的标志是两个-11,不做处理。

Output

对每个测试用例,都输出一行nn 个数字,第ii 个数字是链子上第ii 颗钻石的编号。

Samples

8 2
CUT 3 5 4
FLIP 2 6
-1 -1
1 4 3 7 6 2 5 8

来源

HDU3487