#include #include #include #include #include #include #include #include #include using namespace std; int main(){ int T; cin >> T; for(int t=0; t> N; vector L(N); for(int i=0; i> L[i]; map m; for(int i=0; i > v; for(auto itr = m.begin(); itr!=m.end(); itr++){ v.push_back( {itr->second, itr->first} ); } priority_queue< pair > pq(v.begin(), v.end()); int ans = 0; while(pq.size() >= 3){ auto a = pq.top(); pq.pop(); auto b = pq.top(); pq.pop(); auto c = pq.top(); pq.pop(); ans++; if(a.first > 1){ pq.push( {a.first-1, a.second} ); } if(b.first > 1){ pq.push( {b.first-1, b.second} ); } if(c.first > 1){ pq.push( {c.first-1, c.second} ); } } cout << ans << endl; } return 0; }