#include <bits/stdc++.h>
using namespace std;
const long long N = 2e5 + 5;
void solve() {
  long long n;
  cin >> n;
  map<long long, long long> c;
  for (long long i = 0; i < n; i++) {
    long long x;
    cin >> x;
    c[-x]++;
  }
  vector<long long> pr;
  for (auto i : c) pr.push_back(i.second);
  bool ok = 0;
  long long g = pr[0];
  long long i = 1;
  long long s = 0;
  while (s <= g && i < pr.size()) s += pr[i++];
  if (g < s) {
    long long b = 0;
    while (b <= g && i < pr.size()) b += pr[i++];
    while (i < pr.size() && g + s + b + pr[i] <= n / 2) b += pr[i++];
    if (g < b && g + s + b <= n / 2) {
      ok = true;
      cout << g << " " << s << " " << b << endl;
    }
  }
  if (!ok) cout << 0 << " " << 0 << " " << 0 << endl;
}
signed main() {
  ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  srand(chrono::high_resolution_clock::now().time_since_epoch().count());
  long long t = 1;
  cin >> t;
  while (t--) {
    solve();
  }
  return 0;
}
