#include <bits/stdc++.h>
using namespace std;
string alpha_upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
string alpha_lower = "abcdefghijklmnopqrstuvwxyz";
double eps = 1e-12;
template <class Tm1, class Tm2>
void print_map(map<Tm1, Tm2> m) {
  for (auto it = m.begin(); it != m.end(); it++) {
    cout << (*it).first << " : " << (*it).second << "\n";
  }
}
const int maxn = 4e5 + 5;
int arr[maxn];
map<int, int, greater<int> > m;
void solve() {
  int n;
  cin >> n;
  m.clear();
  for (int i = 1; i <= n; i++) cin >> arr[i], m[arr[i]]++;
  int g = 0, s = 0, b = 0;
  for (auto itr : m) {
    int cnt = itr.second;
    if (!g) {
      g += cnt;
      continue;
    }
    if (s <= g) {
      s += cnt;
      continue;
    }
    if (g + s + b + cnt > n / 2) break;
    b += cnt;
  }
  if (g >= s || g >= b)
    cout << "0 0 0"
         << "\n";
  else
    cout << g << " " << s << " " << b << "\n";
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  long long t;
  cin >> t;
  for (long long i = 0; i < t; i++) {
    solve();
  }
  return 0;
}
