#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;

}