def min_trip(arr):
mp = {}
for x in arr:
mp[x] = mp.get(x, 0) + 1
trips = 0
for count in mp.values():
if count == 1:
return -1
trips += count // 3
if count % 3 != 0:
trips += 1
return trips
n = int(input())
arr = list(map(int, input().split()))
print(min_trip(arr))
ZGVmIG1pbl90cmlwKGFycik6CiAgICBtcCA9IHt9CgogICAgZm9yIHggaW4gYXJyOgogICAgICAgIG1wW3hdID0gbXAuZ2V0KHgsIDApICsgMQoKICAgIHRyaXBzID0gMAoKICAgIGZvciBjb3VudCBpbiBtcC52YWx1ZXMoKToKICAgICAgICBpZiBjb3VudCA9PSAxOgogICAgICAgICAgICByZXR1cm4gLTEKCiAgICAgICAgdHJpcHMgKz0gY291bnQgLy8gMwoKICAgICAgICBpZiBjb3VudCAlIDMgIT0gMDoKICAgICAgICAgICAgdHJpcHMgKz0gMQoKICAgIHJldHVybiB0cmlwcwoKCm4gPSBpbnQoaW5wdXQoKSkKYXJyID0gbGlzdChtYXAoaW50LCBpbnB1dCgpLnNwbGl0KCkpKQoKcHJpbnQobWluX3RyaXAoYXJyKSk=