Поликарп — директор большой корпорации. В этой корпорации работает n секретарей, каждый из которых пользуется известной VoIP-системой Spyke для ведения переговоров в течение рабочего дня. Известно, что, когда два человека устанавливают телефонное соединение Spyke, сеть Spyke присваивает этому разговору уникальный идентификационный номер (целое положительное число) — номер сессии.
Как-то раз Поликарп захотел узнать, кто из секретарей разговаривает по Spyke, а кто — нет. Он выписал для каждого секретаря номер сессии его разговора, или 0, если этот секретарь сейчас не разговаривает по Spyke.
Помогите Поликарпу по этим данным определить, сколько пар секретарей сейчас ведут разговор между собой. Если в данные Поликарпа закралась ошибка, и описанная ситуация никак не могла произойти, требуется сообщить об этом.
Обратите внимание, секретари могут разговаривать по Spyke не только друг с другом — возможны разговоры с внешними собеседниками. Также не разрешены конференции Spyke — то есть в каждом разговоре должны участвовать ровно два собеседника.
Выходные данные
Выведите единственное целое число — количество пар секретарей, которые ведут разговор между собой, или -1, если в данные Поликарпа закралась ошибка, и описанная ситуация никак не могла произойти.
Примечание
В первом тестовом примере есть два телефонных разговора между секретарями: секретарь номер 2 и секретарь номер 4, секретарь номер 3 и секретарь номер 5.
Во втором тестовом примере описанная ситуация невозможна, так как не разрешены конференции.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
6 0 1 7 1 7 10
|
2
|
|
2
|
3 1 1 1
|
-1
|
|
3
|
1 0
|
0
|