atcoder#ABC286A. [ABC286A] Range Swap

[ABC286A] Range Swap

配点 : 100100

問題文

長さ NN の数列 A=(A1,A2,,AN)A=(A_1,A_2,\ldots,A_N) および正整数 P,Q,R,SP,Q,R,S が与えられます。 ここで、P,Q,R,SP,Q,R,S は、1PQおよび1\leq P\leq Q および Q-P=S-R$ をみたしています。

数列 AAPP 番目から QQ 番目の項までと RR 番目から SS 番目の項までを入れ替えた数列を B=(B1,B2,,BN)B=(B_1, B_2,\ldots, B_N) とします。 数列 BB を出力してください。

制約

  • 1N1001\leq N \leq 100
  • 1Ai1001\leq A_i\leq 100
  • $1\leq P\leq Q
  • QP=SRQ-P=S-R
  • 入力はすべて整数

入力

入力は以下の形式で標準入力から与えられる。

NN PP QQ RR SS

A1A_1 A2A_2 \ldots ANA_N

出力

B1,B2,,BNB_1, B_2,\ldots, B_N を空白区切りで出力せよ。

8 1 3 5 7
1 2 3 4 5 6 7 8
5 6 7 4 1 2 3 8

数列 A=(1,2,3,4,5,6,7,8)A=(1,2,3,4,5,6,7,8)11 番目から 33 番目の項 (1,2,3)(1,2,3)55 番目から 77 番目までの項 (5,6,7)(5,6,7) を 入れ替えると, B=(5,6,7,4,1,2,3,8)B=(5,6,7,4,1,2,3,8) となります。 よってこれを空白区切りで出力します。

5 2 3 4 5
2 2 1 1 1
2 1 1 2 1

数列には同じ整数が複数回現れる事もあります。

2 1 1 2 2
50 100
100 50
10 2 4 7 9
22 75 26 45 72 81 47 29 97 2
22 47 29 97 72 81 75 26 45 2