#include <bits/stdc++.h>
const int N = 100005;
const long double pi = 3.141592653;
const long long MOD = 1000000007;
using namespace std;
int dx[9] = {1, -1, 0, 0, 1, 1, -1, -1, 0};
int dy[9] = {0, 0, 1, -1, 1, -1, 1, -1, 0};
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  int T;
  cin >> T;
  while (T--) {
    int n, i, x, g = 0, s = 0, b = 0;
    cin >> n;
    vector<int> p(n);
    for (i = 0; i < n; i++) cin >> p[i];
    if (n < 10)
      cout << 0 << " " << 0 << " " << 0;
    else {
      x = p[n / 2];
      while (p.size() != n / 2) p.pop_back();
      while (p.back() == x && p.size() > 0) p.pop_back();
      if (p.size() < 5)
        cout << 0 << " " << 0 << " " << 0;
      else {
        map<int, int, greater<int> > m;
        for (i = 0; i < p.size(); i++) {
          if (m.find(p[i]) != m.end())
            m[p[i]]++;
          else
            m.insert({p[i], 1});
        }
        if (m.size() < 3)
          cout << 0 << " " << 0 << " " << 0;
        else {
          if (m.begin()->second > (p.size() - 2) / 3)
            cout << 0 << " " << 0 << " " << 0;
          else {
            g = m.begin()->second;
            auto o = m.begin();
            o++;
            while (s <= g && o != m.end()) {
              s = s + o->second;
              o++;
            }
            b = p.size() - g - s;
            if (b <= g)
              cout << 0 << " " << 0 << " " << 0;
            else
              cout << g << " " << s << " " << b;
          }
        }
      }
    }
    cout << "\n";
  }
  return 0;
}
