#1333. 洗牌2

洗牌2

描述

魔术师刘谦要洗牌了,请你写个程序来模拟洗牌的过程。 洗牌分弹牌和切牌两个操作: 弹牌——将牌组等分成两份,然后交错相插,如当前牌为112233445566,现在开始弹牌,先将牌分成112233445566,然后交错相插,变成114422553366。 切牌——从牌堆里面拿出连续的一段,然后放到顶端。如当前牌为112233445566,切完2255之间的44张牌后变成223344551166

输入

第一行为两个正整数NNMMNN表示牌堆里面有NN张牌,MM表示共进行MM次洗牌的操作。 第二行有NN个正整数,代表NN张牌上的数字,刘谦用的牌其实就是标有数字的卡片。 接下来MM行,每行一个整数或者三个整数。 如果第一个数为00,那么这一行就这只有一个数,表示弹牌。 如果第一个数为11,那么后面跟着两个正整数bbee,表示把bbee这段牌切到顶端。

输出

输出MM次操作后从第一张开始的每张牌上的数字。 相邻两数严格用一个空格隔开。

样例

10 5
46 21 22 1 20 46 50 7 42 19
1 4 8
1 4 4
1 4 7
0
0
46 22 1 21 7 42 20 50 46 19