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

Формат входных данных.
Ввод: В
начальных строках файла построчно располагаются сведения о книгах по формату:
<УДК> <ФИО>
<Название> <Год> <ЧислоЭкземпляров>
где 0 в графе УДК – это
признак окончания ввода.
Затем построчно располагаются
сведения о движении книг по формату:
<КодОперации>
<УДК> <ФИО> <Название> <Год> <ЧислоЭкземпляров>
где код операции 1 –
поступление, 2 – списание, 0 – окончание ввода.
Будем считать, что поле
<год> уникально для каждой записи и является ключом.
Вывод:
Упорядоченные по году издания сведения о наличии книг в библиотеке по формату:
<УДК> <ФИО>
<Название> <Год> <ЧислоЭкземпляров>
Пример входных данных:
5 Ivanov
Kniga1 2000 3
10 Petrov Kniga2 2005 2
15 Sidorov Kniga3 1995 1
20 Miheev Kniga4 1980 2
25 Andreev Kniga5 2007 3
30 Suvorov Kniga6 2009 4
35 Egorov Kniga7 1998 5
40 Fedorov Kniga8 1990 6
0
1 50 Bukin Kniga9 1992 5
2 10 Petrov Kniga2 2005 1
1 15 Sidorov Kniga3 1995 1
2 25 Andreev Kniga5 2007 3
1 55 Babkin Kniga0 1994 3
0
Пример выходных данных:
20 Miheev
Kniga4 1980 2
40 Fedorov Kniga8 1990 6
50 Bukin Kniga9 1992 5
55 Babkin Kniga0
1994 3
15 Sidorov Kniga3 1995 2
35 Egorov Kniga7 1998 5
5 Ivanov Kniga1 2000 3
10 Petrov
Kniga2 2005 1
30 Suvorov Kniga6 2009 4