using namespace std;
const int N=1e6+7;
int v[N];
signed main(){
int t;
cin>>t;
while(t--){
int q1,q2,q3;
q1=q2=q3=0;
int n;
cin>>n;
int ans=0;
for(int i=1;i<=n;i++){
cin>>v[i];
q3+=v[i]/3;
if(v[i]%3==1) q1++;
if(v[i]%3==2) q2++;
}
//cout<<q1<<" "<<q2<<" "<<q3<<"\n";
if(q3<=q1){
ans=q3+q2+(q1-q3);
}
else{
ans+=q1;
q3-=q1,q1=0;
if(q3<=q2*2){
ans+=q3;
if(q3%2==0){
q2-=(q3/2);
}
else{
q2-=(q3/2);
q1++;
}
ans+=(q2+q1);
}
else{
ans+=q2;
q2=0;
int ch=(ceil(q3*1.0/4.0));
int card=ch*3;
q3-=ch;
ans+=q3;
card-=q3;
ans+=card/2;
if(card&1) ans++;
}
}
cout<<ans<<"\n";
}
return 0;
}
/*
x
3*x
3*x>=q3-x
4x>=q3
x>=q3/4
*/