#include <bits/stdc++.h>
using ll=long long int;
using namespace std;
int main()
{
vector<int>a={1,1,1,1,2,2,2};
int n=a.size();
unordered_map<int,int>mp;
for(int i=0;i<n;i++){
mp[a[i]]++;
}
int ans=0;
for(auto i:mp){
if(i.second%3==0){
ans=ans+i.second/3;
}
else if(i.second%2==0){
ans=ans+i.second/2;
}
else{
cout<<-1<<endl;
return 0;
}
}
cout<<ans<<endl;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIGxsPWxvbmcgbG9uZyBpbnQ7CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpCnsKCiAgIHZlY3RvcjxpbnQ+YT17MSwxLDEsMSwyLDIsMn07CiAgIGludCBuPWEuc2l6ZSgpOwogICB1bm9yZGVyZWRfbWFwPGludCxpbnQ+bXA7CiAgIGZvcihpbnQgaT0wO2k8bjtpKyspewogICAgICAgbXBbYVtpXV0rKzsKICAgfQogICBpbnQgYW5zPTA7CiAgICBmb3IoYXV0byBpOm1wKXsKICAgICAgICBpZihpLnNlY29uZCUzPT0wKXsKICAgICAgICAgICAgYW5zPWFucytpLnNlY29uZC8zOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmKGkuc2Vjb25kJTI9PTApewogICAgICAgICAgICBhbnM9YW5zK2kuc2Vjb25kLzI7CiAgICAgICAgfSAgICAgCiAgICAgICAgZWxzZXsKICAgICAgICAgICAgY291dDw8LTE8PGVuZGw7CiAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgIH0KICAgIH0KICAgIGNvdXQ8PGFuczw8ZW5kbDsKCn0=