#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using Pii = pair<int, int>;
using Vi = vector<int>;
void run();
int main() {
  cin.sync_with_stdio(0);
  cin.tie(0);
  cout << fixed << setprecision(18);
  run();
  return 0;
}
int uplg(int n) { return 32 - __builtin_clz(n); }
int uplg(ll n) { return 64 - __builtin_clzll(n); }
void run() {
  int t;
  cin >> t;
  while (t--) {
    int n;
    cin >> n;
    Vi cnt;
    int last = -1;
    for (int i = (0); i < (n); i++) {
      int p;
      cin >> p;
      if (last != p) cnt.push_back(0);
      cnt.back()++;
      last = p;
    }
    int pref = 0;
    for (int i = (0); i < (int((cnt).size())); i++) {
      pref += cnt[i];
      if (pref > n / 2) {
        cnt.resize(i);
        break;
      }
    }
    if (int((cnt).size()) < 3) {
      cout << "0 0 0\n";
      continue;
    }
    int g = cnt[0], s = 0, b = 0;
    int i = 1;
    for (; i < int((cnt).size()) && s <= g; i++) {
      s += cnt[i];
    }
    for (; i < int((cnt).size()); i++) {
      b += cnt[i];
    }
    if (g <= 0 || s <= 0 || b <= 0 || g >= s || g >= b) {
      cout << "0 0 0\n";
      continue;
    }
    cout << g << ' ' << s << ' ' << b << '\n';
  }
}
