008 - ガソリンスタンド
時間制限 1 秒 / メモリ制限 256 MB / 得点 2 / x 2 /
問題
白虎サービスエリアのガソリンスタンドには、$1$から$N$の番号が割り当てられた$N$個のレーンがあります。各レーンの先頭の車が給油を行うことができます。
ガソリンスタンドに入場した車は、並んでいる車が最も少ないレーンを選び列の末尾に並びます。そのようなレーンが複数ある場合は、番号が最も小さいレーンを選びます。給油が終わるとその車はレーンから出ていき、その後ろの車が給油を行います。一度レーンを選んだら、他のレーンに移ることはできません。また、レーンに並んでいる車の順番が変わることはありません。
レーンの数、入場した車と給油が終了したレーンの情報が与えられたとき、給油が終了した車のナンバーを順番に出力するプログラムを作成せよ。入場の情報はスタンドに入ってくる車のナンバー、給油終了の情報は先頭の車の給油が終了したレーン番号としてそれぞれ与えられる。ただし、最初はどのレーンにも車は並んでいないものとする。
入力
入力は以下の形式で与えられる。
$N$ $M$ $info_1$ $info_2$ : $info_M$
1行目にレーンの数$N$ ($1\leq N \leq 10$)と情報の数$M$ ($2 \leq M \leq 10,000$)が与えられる。続く$M$行に各情報$info_i$が与えられる。各$info_i$は以下のいずれかの形式で与えられる。
0 $lane$
または
1 $car$
最初の数字が0の場合、番号が$lane$ ($1 \leq lane \leq N$)であるレーンに並んでいる先頭の車の給油が終了したことを示す。最初の数字が1の場合、ナンバーが$car$ ($1 \leq car \leq 9,999$)である車がスタンドに入場したことを示す。
入力は以下の制約を満たす。
- ガソリンスタンドに入って来る車のナンバーは、全て異なる。
- 最初の数字が0,1である情報は、それぞれ必ず1つ以上ある。
- 車のいないレーンに対して、最初の数字が0である情報は与えられない。
出力
給油終了の情報ごとに、給油が終了した車のナンバーを1行に出力する。
入出力例
入力例
2 7 1 999 1 1000 0 2 1 1001 1 1002 0 1 0 1
出力例
1000 999 1002