Динамические структуры данных

Формат входных данных.
Ввод: Сведения о первоначальном нахождении автобусов
в парке несколько строк с информацией о каждом автобусе (по одному на строку) по
формату:
<НомерАвтобуса> <ФИОВодителя> <НомерМаршрута>,
0 - признак конца ввода списка, затем
информация об изменении состояний списка автобусов, несколько строк по формату:
<код операции> <НомерАвтобуса>
Здесь <код операции> 1
– выезд из парка, 2 – въезд в парк0 - признак конца
ввода списка.
Вывод: два списка
автобусов в порядке их номеров, сначала автобусы, находящиеся в парке, затем,
через пустую строку, автобусы, находящиеся на маршруте.
Пример входных данных:
7 Andreev 43
5 Zelenin 50
1 Ivanov 195
6 Kuznecov 56
2 Petrov 159
4 Makarov 65
3 Sidorov 67
0
1 4
1 2
2 4
1 6
2 2
1 7
1 3
0
Пример выходных данных:
1 Ivanov 195
2 Petrov 159
4 Makarov 65
5 Zelenin 50
3 Sidorov 67
6 Kuznecov 56
7 Andreev 43