#include <bits/stdc++.h>
using namespace std;
const int INF = 1e9 + 7;
const int MOD = 1e9 + 7;
const int dx[4] = {0, 0, -1, 1};
const int dy[4] = {-1, 1, 0, 0};
const int N = 1e6 + 1;
int T, n, a[N];
map<int, int> cnt;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  cin >> T;
  while (T--) {
    cin >> n;
    int m = n;
    set<int> S;
    cnt.clear();
    for (int i = 1; i <= n; i++) {
      cin >> a[i];
      cnt[a[i]]++;
      S.insert(a[i]);
    }
    n = 0;
    for (int x : S) a[++n] = x;
    reverse(a + 1, a + 1 + n);
    int g = 0, s = 0, b = 0;
    g = cnt[a[1]];
    int p = 0, x = 0;
    for (int i = 2; i <= n; i++) {
      if (s < g) {
        s += cnt[a[i]];
        p = i;
      } else
        break;
    }
    if (s < g) {
      cout << 0 << ' ' << 0 << ' ' << 0 << '\n';
      continue;
    }
    for (int i = p + 1; i <= n; i++) {
      if (b < s) {
        b += cnt[a[i]];
        x = i;
      } else
        break;
    }
    if (b < s) {
      cout << 0 << ' ' << 0 << ' ' << 0 << '\n';
      continue;
    }
    for (int i = x + 1; x <= n; x++) {
      if (g + s + b + cnt[a[i]] <= m / 2) {
        b += cnt[a[i]];
      } else
        break;
    }
    if (g + s + b > m / 2) {
      cout << 0 << ' ' << 0 << ' ' << 0 << '\n';
      continue;
    }
    cout << g << ' ' << s << ' ' << b << '\n';
  }
  return 0;
}
