#include #include #include #include #include #include #include #include using namespace std; int main() { int t, n, l; cin >> t; vector ans(t, 0); for (int i = 0; i < t; i++) { cin >> n; map banboo; for (int j = 0; j < n; j++) { cin >> l; if (banboo.count(l) > 0) { banboo[l]++; } else { banboo[l] = 1; } } priority_queue< pair > que; for (auto it = banboo.begin(); it != banboo.end(); it++) { que.push(make_pair((*it).second, (*it).first)); } while (que.size() >= 3) { ans[i]++; auto q1 = que.top(); que.pop(); auto q2 = que.top(); que.pop(); auto q3 = que.top(); que.pop(); q1.first--; q2.first--; q3.first--; if (q1.first > 0) { que.push(q1); } if (q2.first > 0) { que.push(q2); } if (q3.first > 0) { que.push(q3); } } } for (int i = 0; i < t; i++) { cout << ans[i] << endl; } return 0; }