#CCBCHBAHAI0000034. Dịch đoạn [l, r] sang phải một bước (Right-Shift a Subarray [l, r] by One)

Dịch đoạn [l, r] sang phải một bước (Right-Shift a Subarray [l, r] by One)

Dịch đoạn [l, r] sang phải một bước (Right-Shift a Subarray [l, r] by One)

Nguồn: Phước Hưng OJ

Phiên bản: Phước Hưng OJ Extended

Đề bài

Cho mảng số nguyên a0,a1,…,an−1a_0,a_1,\ldots,a_{n-1} và hai chỉ số l,rl,r thỏa

0≤l≤r<n.0\le l\le r<n.

Chỉ trên đoạn [l,r][l,r], thực hiện một phép dịch phải vòng tròn đúng một bước. Mọi vị trí ngoài đoạn giữ nguyên.

Gọi mảng kết quả là bb. Nếu l=rl=r thì b=ab=a. Nếu l<rl<r thì:

bl=ar,b_l=a_r, bi=ai−1(l<i≤r),b_i=a_{i-1}\qquad(l<i\le r),

và

bi=ai(i<l hoặc i>r).b_i=a_i\qquad(i<l\text{ hoặc }i>r).

Hãy in mảng bb.

Input

Dòng đầu chứa ba số nguyên n,l,rn,l,r. Dòng thứ hai chứa nn số nguyên a0,a1,…,an−1a_0,a_1,\ldots,a_{n-1}.

Output

In mảng sau khi dịch phải vòng tròn đoạn [l,r][l,r] một bước.

Subtask

Subtask 1 (100 điểm): 1≤n≤2⋅1051\le n\le2\cdot10^5; 0≤l≤r<n0\le l\le r<n; ∣ai∣≤109|a_i|\le10^9.

Ví dụ

Input

7 1 4
10 20 30 40 50 60 70

Output

10 50 20 30 40 60 70

Giải thích

Đoạn 20 30 40 50 trở thành 50 20 30 40; các phần tử 10 60 70 nằm ngoài đoạn nên giữ nguyên.