#2538. 循环

循环

Description

有个名为LLoooopplloooopp的玩具,这个玩具有NN个元素,以循环方式排列。有一个箭头指向其中一个元素,还有两个预设参数k1k_1k2k_2

image

上图显示了一个由66个元素组成的循环。假设预设参数k1k_133k2k_244,对这个玩具做66种操作,请对这些操作中的每个查询都给出答案。

11xx aadddd xx 。从箭头指向的元素开始,将顺时针方向第11k2k_2 个元素加xx

image

2(2)反转reverse(reverse):从箭头指向的元素开始,将顺时针方向第1k11~k _1 个元素反转。

image

3(3)插入xinsertx (insert xx ):在箭头指向的元素右侧(顺时针方向)插入一个新元素xx

image

4(4)删除delete(delete):删除箭头指向的元素,然后将箭头移到其右侧的元素上。

image

55移动xx mmoovvee xx xx 只可以是1122。若xx =11,则向左逆时针方向移动箭头;若xx =22,则向右移动箭头。

image

6(6)查询query):(query):在一行中输出箭头指向的元素。

image

Input

输入包含多个测试用例。每个测试用例的第11行都包括NNMMk1k_1k2k_2 22k1k_1 <<k2k_2 NN 10510^5MM 10510^5 ,表示元素的初始数量、将执行的操作总数和玩具的两个预设参数;第22行都包括NN 个整数aia_i -11040^4 aia_i 11040^4 ,表示顺时针方向的NN 个元素,箭头指向一开始输入的第11个元素;接下来的mm 行,每行都包含上述66种操作之一,保证aaddddiinnsseerrttmmoovvee操作中的xx 始终为整数,且|xx |11040^4 。输入一行00 00 00 00表示输入结束。

Output

对每个测试用例,都在第11行输出用例数(格式如输出样例),然后对用例中的每个查询,都单行输出箭头指向的元素。

Samples

5 1 2 4
3 4 5 6 7
query
5 13 2 4
1 2 3 4 5
move 2
query
insert 8
reverse
query
add 2
query
move 1
query
move 1
query
delete
query
0 0 0 0
Case #1:
3
Case #2:
2
8
10
1
5
1

来源

HDU4453