Niektorí riešitelia KSP sa po maturite rozutekajú do sveta. Napríklad do Dánska. Nechcú si ale so sebou brať svoje autá a keďže sú dobré duše, požičajú ich Trojstenu.
Toto má ale nežiadúce vedľajšie efekty: matfyzácke parkovisko sa rýchlo plní a bezradní šoféri sa hádajú o prázdne miesta. Preto sa vedenie rozhodlo zaviesť nový systém prideľovania parkovacích miest, ktorý bude férový ku všetkým.
Máme parkovisko, kde je $m$ parkovacích miest, očíslovaných číslami od $0$ po $m-1$.
Na parkovisko prichádzajú a odchádzajú autá s unikátnou ŠPZ (teda na parkovisku nebudú naraz dve autá s rovnakou ŠPZ, ale jedno auto môže prísť a odísť aj viackrát).
Vašou úlohou je prideľovať autám parkovacie miesta. Každému autu, ktoré príde, prideľte ľubovoľné voľné parkovacie miesto. Ak sú všetky miesta plné, miesto prideľovať nemusíte a auto neobslúžite (ide parkovať inam).
V prvom riadku vstupu sú čísla $m$ ($1 \leq m \leq 10^5$) a $n$ ($1 \leq n \leq 10^6$). Číslo $m$ je počet miest na parkovisku a $n$ je počet príchodov a odchodov áut dokopy.
V každom z ďalších $n$ riadkov je číslo ŠPZ ($1 \leq SPZ \leq 10^6$) auta, ktoré prišlo alebo odišlo. Ak sa auto s touto ŠPZ nachádza na parkovisku, práve odišlo. V opačnom prípade práve prichádza.
Pre každé auto, ktoré prišlo alebo odišlo, vypíšte jeden riadok a na ňom číslo parkovacieho miesta, ktoré obsadilo alebo uvoľnilo (číslované od $0$ po $m-1$). Ak príde auto na plné parkovisko, vypíšte jeden riadok a na ňom reťazec "plne".
Správny výstup je ľubovoľné prideľovanie miest, pri ktorom žiadnemu autu nebude pridelené už obsadené miesto a každé auto pri odchode uvoľnilo miesto, ktoré mu bolo pridelené.
Input:
3 7
4
9039
103
19
4
103
47
Output:
0
1
2
plne
0
2
2
Korešpondenčný seminár z programovania zastrešuje občianske združenie Trojsten.
Trojsten, o.z.
FMFI UK, Mlynská dolina
842 48 Bratislava
Programátorská súťaž pre základoškolákov
Materiály a úlohy na výučbu programovania
Intenzívny programátorský zážitok v lete