C. Купе
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
stdin
вывод
stdout

Команда школьников из города S направляется на Всеберляндскую олимпиаду по информатике. Традиционно, ребята едут на поезде. Всем школьникам купили билеты в один вагон, состоящий из n купе (в каждом купе едут ровно четыре человека). Известно, что если в купе едут один или два школьника-олимпиадника, то им становится скучно, а если едут три или четыре школьника-олимпиадника, то в этом купе весело на протяжении всей поездки.

Школьники хотят поменяться с другими людьми так, чтобы ни в каком купе, где едут школьники, им не было скучно. Чтобы поменяться с другим человеком местами, нужно убедить его, что это действительно необходимо. Школьники не могут самостоятельно найти нужные аргументы, поэтому они обратились за помощью к сочувствующей им проводнице. Проводница, пользуясь своим жизненным опытом, может уговорить любого пассажира поменяться местами с кем-то из школьников.

Однако, проводница не хочет терять время на уговоры зря, поэтому хочет узнать, какое минимальное количество людей ей надо уговорить поменяться местами со школьниками. Ваша задача — найти это количество.

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

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

В первой строке записано целое число n (1 ≤ n ≤ 106) — количество купе в вагоне. Во второй строке записано n целых чисел a1, a2, ..., an — количества школьников, едущих в каждом из купе (0 ≤ ai ≤ 4). Гарантируется, что в поезде едет хотя бы один школьник.

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

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

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