#include #define REP(i,n,N) for(int i=(n);i<(int) N;i++) #define p(s) cout<<(s)<> T; REP(i,0,T){ int N; cin >> N; vector L(N); ll sum = 0; map m; REP(i,0,N){ cin >> L[i]; sum += L[i]; m[L[i]]++; } priority_queue pq; for (auto i : m){ pq.push(i.second); } int ans = 0; if (m.size() >= 3){ while (1){ int a = pq.top(); pq.pop(); int b = pq.top(); pq.pop(); int c = pq.top(); pq.pop(); if (c <= 0) break; ans++; pq.push(a - 1); pq.push(b - 1); pq.push(c - 1); } } p(ans); } }