#include <bits/stdc++.h>
using namespace std;
int main() {
  int t;
  cin >> t;
  while (t--) {
    unordered_set<int> st;
    unordered_map<int, int> mp = {{1, 0}, {2, 0}, {3, 0}};
    int n, b;
    cin >> n;
    b = n;
    int cur = -1, j = -1;
    vector<pair<int, int>> a;
    while (n--) {
      int x;
      cin >> x;
      st.insert(x);
      if (x == cur) {
        a[j].second++;
      } else {
        j++;
        a.push_back({x, 1});
      }
      cur = x;
    }
    if (a.size() == 1) {
      cout << "0 0 0 \n";
      continue;
    }
    mp[1] = a[0].second;
    mp[2] = a[1].second;
    int cnt = mp[1] + mp[2];
    j = 2;
    while (mp[2] <= mp[1]) {
      cnt += a[j].second;
      mp[2] += a[j].second;
      j++;
    }
    if (cnt > b / 2) {
      cout << "0 0 0\n";
      continue;
    }
    int c = 0;
    while (cnt <= b / 2) {
      mp[3] += a[j].second;
      cnt += a[j].second;
      c = a[j].second;
      j++;
    }
    if (cnt > b / 2) {
      mp[3] -= c;
    }
    if (st.size() < 3 || mp[1] == 0 || mp[2] == 0 || mp[3] == 0) {
      cout << "0 0 0 \n";
    } else {
      cout << mp[1] << ' ' << mp[2] << ' ' << mp[3] << endl;
    }
  }
  return 0;
}
