#include <bits/stdc++.h>
using namespace std;
int32_t mod = 1e9 + 7;
void solveCase() {
  long long n = 0;
  cin >> n;
  priority_queue<long long> pq;
  for (long long i = 0; i < n; i++) {
    long long x = 0;
    cin >> x;
    pq.push(x);
  }
  long long medals[3], i = 0, last = -1, total = 0, rollback = 0;
  memset(medals, 0, sizeof(medals));
  while (!pq.empty() && total < n / 2) {
    long long tp = pq.top();
    pq.pop();
    if ((i == 0 || (i == 1 && medals[i] > medals[0])) && last > tp) i++;
    if (i == 2) {
      if (last > tp) rollback = 1;
      if (last == tp) rollback++;
    }
    medals[i]++, total++, last = tp;
  }
  if (pq.top() == last) medals[2] -= rollback, total -= rollback;
  if (medals[0] <= 0 || medals[1] <= 0 || medals[2] <= 0 ||
      medals[2] <= medals[0]) {
    cout << "0 0 0\n";
    return;
  }
  for (long long x : medals) cout << x << ' ';
  cout << '\n';
}
int32_t main() {
  ios::sync_with_stdio(false), cin.tie(NULL);
  long long t = 0;
  cin >> t;
  while (t--) solveCase();
}
