No tag edit access

B. Restoration of the Permutation

time limit per test

1 secondmemory limit per test

256 megabytesinput

standard inputoutput

standard outputLet *A* = {*a*_{1}, *a*_{2}, ..., *a*_{n}} be any permutation of the first *n* natural numbers {1, 2, ..., *n*}. You are given a positive integer *k* and another sequence *B* = {*b*_{1}, *b*_{2}, ..., *b*_{n}}, where *b*_{i} is the number of elements *a*_{j} in *A* to the left of the element *a*_{t} = *i* such that *a*_{j} ≥ (*i* + *k*).

For example, if *n* = 5, a possible *A* is {5, 1, 4, 2, 3}. For *k* = 2, *B* is given by {1, 2, 1, 0, 0}. But if *k* = 3, then *B* = {1, 1, 0, 0, 0}.

For two sequences *X* = {*x*_{1}, *x*_{2}, ..., *x*_{n}} and *Y* = {*y*_{1}, *y*_{2}, ..., *y*_{n}}, let *i*-th elements be the first elements such that *x*_{i} ≠ *y*_{i}. If *x*_{i} < *y*_{i}, then *X* is lexicographically smaller than *Y*, while if *x*_{i} > *y*_{i}, then *X* is lexicographically greater than *Y*.

Given *n*, *k* and *B*, you need to determine the lexicographically smallest *A*.

Input

The first line contains two space separated integers *n* and *k* (1 ≤ *n* ≤ 1000, 1 ≤ *k* ≤ *n*). On the second line are *n* integers specifying the values of *B* = {*b*_{1}, *b*_{2}, ..., *b*_{n}}.

Output

Print on a single line *n* integers of *A* = {*a*_{1}, *a*_{2}, ..., *a*_{n}} such that *A* is lexicographically minimal. It is guaranteed that the solution exists.

Examples

Input

5 2

1 2 1 0 0

Output

4 1 5 2 3

Input

4 2

1 0 0 0

Output

2 3 1 4

Codeforces (c) Copyright 2010-2017 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Dec/13/2017 19:36:26 (c6).

Desktop version, switch to mobile version.

User lists

Name |
---|