#include <bits/stdc++.h>
using namespace std;
int main() {
  int tc;
  cin >> tc;
  while (tc--) {
    map<int, int> mp;
    vector<int> v, res;
    int n;
    cin >> n;
    for (int i = 1; i <= n; i++) {
      int x;
      cin >> x;
      v.push_back(x);
    }
    int sz = (n / 2);
    for (int i = 0; i < sz; i++) {
      mp[v[i]]++;
    }
    if (v[sz] == v[sz - 1]) mp[v[sz]] = 0;
    for (auto x : mp) {
      if (x.second) {
        res.push_back(x.second);
      }
    }
    if (res.size() < 3) {
      cout << "0 0 0" << endl;
      continue;
    }
    reverse(res.begin(), res.end());
    long long sum = 0, taken = 0, mx = res[0];
    for (int i = 1; i < res.size(); i++) {
      sum += res[i];
    }
    bool ok = false;
    for (int i = 1; i < res.size(); i++) {
      taken += res[i];
      if (taken > mx && (sum - taken > mx)) {
        cout << mx << " " << taken << " " << sum - taken << endl;
        ok = true;
        break;
      }
    }
    if (!ok) cout << "0 0 0" << endl;
  }
  return 0;
}
