Zadanie

Komplikovaná rekonštrukcia permutácie

Počet bodov: 70

Daná je postupnosť \(a_1,a_2,\dots\) celých čísel, inverzia je dvojica indexov \(i,j\) taká, že \(i<j\) ale \(a_i > a_j\).

Permutácia rádu \(n\) je postupnosť \(p_1,\dots,p_n\) ktorá obsahuje každé číslo medzi 1 a \(n\) práve raz.

Daná je permutácia \(p\) a kladné celé číslo \(k\), definujeme novú postupnosť \(q_1,\dots,q_{n-k+1}\) nasledovne: pre každé \(i\), nech \(q_i\) je počet inverzií v postupnosťi \(p_i,p_{i+1},\dots,p_{i+k-1}\).

Na príklad, nech \(p=(3,1,2,5,4)\) a \(k=3\). Potom:

Úloha

Na vstupe sú hodnoty \(n\), \(k\), postupnosť \(q\), so zárukou, že pre dané dáta existuje aspoň jedna permutácia \(p\) z ktorej vznikne postupnosť \(q\). Zrekonštruujte ľubovolnú takú permutáciu.

Vstup a výstup

Prvý riadok obsahuje čísla \(n\) a \(k\).

Na druhom riadku sú hodnoty \(q_1, \dots, q_{n-k+1}\).

Vypíšte jeden riadok s \(n\) medzerou oddeleními číslami: permutáciou \(p\).

Obmedzenia

Podúloha 1 (5 bodov):\(2\leq n\leq 5\),\(k=2\).

Podúloha 2 (10 bodov):\(2\leq n\leq 5\),\(2\leq k\leq n\).

Podúloha 3 (10 bodov):\(2\leq n\leq 1000\),\(k=2\).

Podúloha 4 (30 bodov):\(5\leq n\leq 1000\),\(2\leq k\leq 6\).

Podúloha 5 (10 bodov):\(2\leq n\leq 100\,000\),\(k=2\).

Podúloha 6 (30 bodov):\(2\leq n\leq 100\,000\),\(2\leq k\leq 6\).

Podúloha 7 (5 bodov):\(2\leq n\leq 200\,000\),\(2\leq k\leq 9\).

Príklad

Input:

5 3
2 0 1

Output:

3 1 2 5 4

Toto je príklad ukázaný v zadaní.

Pre odovzdávanie sa musíš prihlásiť.