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

    ID: 989 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 trái d bước bằng mảng phụ (Left Rotate by d Using an Auxiliary Array)

Dịch vòng trái d bước bằng mảng phụ (Left 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. Trước hết chuẩn hóa

r=d mod n,0≤r<n.r=d\bmod n,\qquad 0\le r<n.

Sau khi dịch vòng trái rr bước, phần tử ở vị trí ii của mảng kết quả bb là

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

Hãy tạo bb bằng một mảng phụ và in kết quả. Giá trị dd có thể lớn hơn nhiều so với nn.

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 trá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

7 9
1 2 3 4 5 6 7

Output

3 4 5 6 7 1 2

Giải thích

r=9 mod 7=2r=9\bmod7=2, nên phần tử đầu tiên của kết quả là a2=3a_2=3.