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

Формат входных данных.
Ввод: В
начальных строках файла построчно располагаются сведения о книгах по формату:
<УДК> <ФИО>
<Название> <Год> <ЧислоЭкземпляров>
где 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