Obtiažnosť: ťažká

Billboard

Pri vchode univerzity sa nachádza obrovská obdĺžniková tabuľa s rozmermi $h \times w$ ($h$ je jej výška a $w$ je jej šírka). Tabuľa je miestom, na ktoré sa vyvesujú všetky možné oznámenia: najbližšie programátorské súťaže, zmeny v jedálnom lístku a ďalšie dôležité informácie.

  1. septembra bola tabuľa prázdna. Oznámenia sa na tabuľu začali postupne pridávať po jednom.

Každé oznámenie je pás papiera s jednotkovou výškou. Presnejšie povedané, $i$-te oznámenie je obdĺžnik s rozmermi $1 \times w_i$.

Keď niekto vyvesí nové oznámenie na tabuľu, vždy zvolí najvyššiu možnú pozíciu pre oznámenie. Spomedzi všetkých možných najvyšších pozícií vždy zvolí tú najľavejšiu.

Ak neexistuje žiadne platné miesto pre nové oznámenie, oznámenie sa na tabuľu nevyvesí (preto niektoré programátorské súťaže nemajú účastníkov z tejto univerzity).

Poznáte rozmery tabuľe a oznámení, vašou úlohou je zistiť čísla riadkov, do ktorých sú oznámenia umiestnené.

Vstup

Prvý riadok vstupného súboru obsahuje tri celé čísla $h$, $w$ a $n$ ($1 <= h, w <= 10^9$; $1 <= n <= 200 000$) — rozmery tabuľe a počet oznámení.

Každý z nasledujúcich $n$ riadkov obsahuje celé číslo $w_i$ ($1 <= w_i <= 10^9$) — šírku $i$-teho oznámenia.

Výstup

Pre každé oznámenie (v poradí, v akom sú uvedené v vstupnom súbore) vypíšte jedno číslo — číslo riadku, v ktorom je toto oznámenie umiestnené. Riadky sú číslované od 1 po $h$, pričom prvý je ten horný. Ak sa oznámenie nedá umiestniť na tabuľu, pre toto oznámenie vypíšte “-1”.

Príklad

Vstup

3 5 5
2
4
3
3
3

Výstup

1
2
1
3
-1