#CCBCHBAHAI0000072. Dịch vòng phải d bước bằng mảng phụ (Right Rotate by d Using an Auxiliary Array)

    ID: 990 Loại: Thông thường 2000ms 256MiB Tried: 0 Đã chấp nhận: 0 Độ khó: 1 Đăng bởi: Nhãn>Programming language basicsStatic arraysIteration techniquesImplementation techniquesInteger arithmetic

Dịch vòng phải d bước bằng mảng phụ (Right Rotate by d Using an Auxiliary Array)

Dịch vòng phải d bước bằng mảng phụ (Right Rotate by d Using an Auxiliary Array)

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à số nguyên không âm dd. Chuẩn hóa

r=d mod n.r=d\bmod n.

Sau khi dịch vòng phải rr bước, mảng kết quả bb thỏa

bi=a(i−r+n) mod n(0≤i<n).b_i=a_{(i-r+n)\bmod n}\qquad(0\le i<n).

Hãy tạo bb bằng mảng phụ và in kết quả. Công thức có thêm nn để chỉ số trước phép modulo không âm.

Input

Dòng đầu chứa nn và dd. Dòng thứ hai chứa nn số nguyên aia_i.

Output

In mảng sau khi dịch vòng phải dd bước.

Subtask

Subtask 1 (20 điểm): 1≤n≤101\le n\le10, 0≤d≤1030\le d\le10^3, ∣ai∣≤103|a_i|\le10^3.

Subtask 2 (30 điểm): 1≤n≤50001\le n\le5000, 0≤d≤10120\le d\le10^{12}, ∣ai∣≤106|a_i|\le10^6.

Subtask 3 (50 điểm): 1≤n≤2⋅1051\le n\le2\cdot10^5, 0≤d≤10180\le d\le10^{18}, ∣ai∣≤109|a_i|\le10^9.

Ví dụ

Input

6 8
10 20 30 40 50 60

Output

50 60 10 20 30 40

Giải thích

r=8 mod 6=2r=8\bmod6=2, nên hai phần tử cuối chuyển lên đầu theo đúng thứ tự.