#include #include #include #include #include #include #include #include #include #define REP(i,k,n) for(int i=k;i P; int main() { int t; cin >> t; rep(q,t) { int n; cin >> n; vector v(n); map m; rep(i,n) { cin >> v[i]; m[v[i]]++; } priority_queue que; map::iterator ite; for(ite = m.begin(); ite != m.end(); ite++) { que.push(ite->second); } int cnt = 0; while(que.size() > 2) { cnt++; vector t(3); rep(i,3) { t[i] = que.top(); que.pop(); } rep(i,3) { if(t[i] == 1) continue; que.push(t[i]-1); } } cout << cnt << endl; } return 0; }