問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
あなたは集団行動のリーダーです。次のような指示を出すことで様々な列の操作ができます。
・swap A B
先頭から A 番目の人と、先頭から B 番目の人の位置を入れ替える。
・reverse
列の前後を入れ替える。
・resize C
先頭から C 人を列に残し、それ以外の人を全員列から離れさせる。ただし、列が既に C 人以下の場合、何も行わない。
初め、列には番号 1 〜 N の N 人がおり、先頭から番号の昇順に並んでいます。(1, 2 , 3, ..., N)
あなたの出した指示の回数 Q とその指示の内容 S_i (1 ≦ i ≦ Q) が順に与えられるので、全ての操作を順に行った後の列を出力してください。
N Q
S_1
...
S_Q
S_1
...
...
・1 ≦ N , Q ≦ 100
・S_i は、swap A B
, reverse
, resize C
のいずれかの形式です。
・1 ≦ C ≦ N
・A, B はその時点で操作可能であるような生徒番号が与えられます。
10 2
reverse
resize 7
10
9
8
7
6
5
4
100 5
resize 29
reverse
swap 18 24
resize 47
reverse
1
2
3
4
5
12
7
8
9
10
11
6
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29