#include #include #include using namespace std; int main(){ int T,N,L; for(scanf("%d",&T);T--;){ mapm; for(scanf("%d",&N);N--;m[L]++)scanf("%d",&L); priority_queue >q; for(map::iterator it=m.begin();it!=m.end();++it)q.push(make_pair(it->second,it->first)); int r=0; for(;q.size()>2;r++){ vector >v(3); for(int i=0;i<3;i++)v[i]=q.top(),q.pop(); for(int i=0;i<3;i++)if(v[i].first>1)q.push(make_pair(v[i].first-1,v[i].second)); } printf("%d\n",r); } }