Hoán đổi

Xem PDF

Điểm: 600 Thời gian: 2.0s Bộ nhớ: 259M Input: bàn phím Output: màn hình

Cho một hoán vị \((P_1,P_2,...,P_n)\) của tập hợp: \(\left\{1,2,3,..,N\right\}\) và ta có thể thực hiện một số lần tuỳ ý (có thể bằng \(0\)) với một phép toán sau:

  • Chọn hai chỉ số \(i,j(1\le i<j\le N)\) thoả mãn \(j-i\le K\)\(|P_i-P_j|=1\). Sau đó, hoán vị giá trị của \(P_i\)\(P_j\) (với \(K\) là số nguyên dương cho trước)

Yêu cầu: Xét tất cả các hoán vị có thể thu được bằng cách áp dụng phép toán trên. Hãy tìm hoán vị có thứ tự từ điển bé nhất !

Input

  • Dòng thứ nhất chứa \(2\) số nguyên \(N,K(2\le N\le 500000,1\le K\le N-1)\)

  • Dóng thứ hai chứa hoán vị \(P_1,P_2,...,P_N\)

Output

  • In ra ra hoán vị có thứ tự từ điển bé nhất cần tìm, và in mỗi số trên một dòng.

Example

Test 1

Input
10 3
6 4 3 9 2 5 7 1 10 8 
Output
4
3
2
7
1
6
8
5
10
9

Test 2

Input
12 2
5 2 6 4 11 1 10 7 3 9 8 12 
Output
2
1
4
3
6
5
9
8
7
11
10
12

Bình luận

Không có bình luận nào.