#include <bits/stdc++.h>
using namespace std;
int trips(int weight[],int num){
unordered_map<int,int>w;
int count=0;
for(int i=0;i<num;i++){
w[weight[i]]++;
}
for(int i=0;i<num;i++){
if(w[i]%3==0){
count++;
}
else{
count+=w[i]/3+1;
}
}
return count;
}
int main() {
// your code goes here
int n;
cin>>n;
int packageWeight[n];
for(int i=0;i<n;i++){
cin>>packageWeight[i];
}
cout<<"the minimum number of trips are:"<<trips(packageWeight,n);
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCB0cmlwcyhpbnQgd2VpZ2h0W10saW50IG51bSl7Cgl1bm9yZGVyZWRfbWFwPGludCxpbnQ+dzsKCWludCBjb3VudD0wOwoJZm9yKGludCBpPTA7aTxudW07aSsrKXsKCQl3W3dlaWdodFtpXV0rKzsKCX0KCWZvcihpbnQgaT0wO2k8bnVtO2krKyl7CgkJaWYod1tpXSUzPT0wKXsKCQkJY291bnQrKzsKCQl9CgkJZWxzZXsKCQkJY291bnQrPXdbaV0vMysxOwoJCX0KCX0KCXJldHVybiBjb3VudDsKIAp9CiAKaW50IG1haW4oKSB7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCglpbnQgbjsKCWNpbj4+bjsKCWludCBwYWNrYWdlV2VpZ2h0W25dOwoJZm9yKGludCBpPTA7aTxuO2krKyl7CgkJY2luPj5wYWNrYWdlV2VpZ2h0W2ldOwoJfQoJY291dDw8InRoZSBtaW5pbXVtIG51bWJlciBvZiB0cmlwcyBhcmU6Ijw8dHJpcHMocGFja2FnZVdlaWdodCxuKTsKCXJldHVybiAwOwp9