Олимпиадный тренинг

Задача . A. Перераспределение учеников


В Берляндии каждый из учеников школы характеризуется своей успеваемостью — целым числом от 1 до 5 (наилучшая успеваемость — это «пятерка»).

В школе номер 0xFF учится всего два класса: класс A и класс B. В каждом классе учится ровно n школьников. Про каждого школьника известна его успеваемость — целое число от 1 до 5.

Только что подошел к концу учебный год и директор школы хочет перераспределить учеников между классами так, чтобы в каждом из двух классов было одинаковое количество учеников, чья успеваемость равна 1, одинаковое количество учеников, чья успеваемость равна 2 и так далее. Иными словами, цель директора — изменить составы классов так, чтобы для каждой успеваемости количества учеников в первом и втором классе были равны.

Чтобы добиться этого, есть план произвести серию обменов учеников между классами. Во время обмена выбирается один ученик из класса A и один ученик класса B. После этого они одновременно меняют классы, где они учатся.

Выведите наименьшее количество обменов, чтобы добиться желаемого равенства количеств учеников для каждой успеваемости.

Входные данные

В первой строке записано целое число n (1 ≤ n ≤ 100) — количество учеников в каждом из классов.

Вторая строка содержит последовательность целых чисел a1, a2, ..., an (1 ≤ ai ≤ 5), где ai — успеваемость i-го ученика класса A.

Третья строка содержит последовательность целых чисел b1, b2, ..., bn (1 ≤ bi ≤ 5), где bi — успеваемость i-го ученика класса B.

Выходные данные

Выведите искомое наименьшее количество обменов или -1, если желаемого распределения учеников по классам получить невозможно.


Примеры
Входные данныеВыходные данные
1 4
5 4 4 4
5 5 4 5
1
2 6
1 1 1 1 1 1
5 5 5 5 5 5
3
3 1
5
3
-1
4 9
3 2 5 5 2 3 3 3 2
4 1 4 1 1 2 4 4 1
4

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя