#D537. Wide Swap
Wide Swap
Wide Swap
You are given a permutation P_1 ... P_N of the set {1, 2, ..., N}.
You can apply the following operation to this permutation, any number of times (possibly zero):
- Choose two indices i,j (1 ≦ i < j ≦ N), such that j - i ≧ K and |P_i - P_j| = 1. Then, swap the values of P_i and P_j.
Among all permutations that can be obtained by applying this operation to the given permutation, find the lexicographically smallest one.
Constraints
- 2≦N≦500,000
- 1≦K≦N-1
- P is a permutation of the set {1, 2, ..., N}.
Input
The input is given from Standard Input in the following format:
N K P_1 P_2 ... P_N
Output
Print the lexicographically smallest permutation that can be obtained.
Examples
Input
4 2 4 2 3 1
Output
2 1 4 3
Input
5 1 5 4 3 2 1
Output
1 2 3 4 5
Input
8 3 4 5 7 8 3 1 2 6
Output
1 2 6 7 5 3 4 8
inputFormat
Input
The input is given from Standard Input in the following format:
N K P_1 P_2 ... P_N
outputFormat
Output
Print the lexicographically smallest permutation that can be obtained.
Examples
Input
4 2 4 2 3 1
Output
2 1 4 3
Input
5 1 5 4 3 2 1
Output
1 2 3 4 5
Input
8 3 4 5 7 8 3 1 2 6
Output
1 2 6 7 5 3 4 8
样例
8 3
4 5 7 8 3 1 2 6
1
2
6
7
5
3
4
8
</p>