#include <bits/stdc++.h>
using namespace std;
map<int, int> mp;
map<int, int>::iterator it;
int main() {
  int n, i, x;
  scanf("%d", &n);
  for (i = 0; i < n; i++) {
    scanf("%d", &x);
    if (!x) continue;
    mp[x]++;
  }
  int fou = 1, add = 0;
  for (it = mp.begin(); it != mp.end(); it++) {
    if ((it)->second < 2) continue;
    if ((it)->second == 2)
      add++;
    else {
      fou = 0;
      break;
    }
  }
  if (fou)
    printf("%d\n", add);
  else
    puts("-1");
  return 0;
}
