#include <bits/stdc++.h>
using namespace std;
using ld = long double;
using ll = long long;
using vi = vector<int>;
using pii = pair<int, int>;
const int MX = 4 * 1e5;
int p[MX + 2];
void matate() { cout << "0 0 0" << '\n'; }
void resuelve(int n) {
  int g = 0;
  int idx = 0;
  while (idx < n && p[idx] == p[0]) idx++;
  g = idx;
  int s = 0;
  while (s <= g) {
    int pos = idx;
    while (idx < n && p[idx] == p[pos]) {
      idx++;
      s++;
    }
    if (idx >= n) break;
  }
  if (s <= g) {
    matate();
    return;
  }
  int b = 0;
  while (b <= g) {
    int pos = idx;
    while (idx < n && p[idx] == p[pos]) {
      idx++;
      b++;
    }
    if (idx >= n) break;
  }
  if (b <= g) {
    matate();
    return;
  }
  int limite = n / 2;
  if (idx > limite) {
    matate();
    return;
  }
  int pos = limite;
  while (limite >= 0 && p[limite] == p[pos]) limite--;
  if (idx - 1 > limite) {
    matate();
    return;
  }
  while (idx <= limite) {
    b++;
    idx++;
  }
  cout << g << " " << s << " " << b << '\n';
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  int t;
  cin >> t;
  while (t--) {
    int n;
    cin >> n;
    for (int i = 0; i < n; ++i) cin >> p[i];
    resuelve(n);
  }
  return 0;
}
