#include <bits/stdc++.h>
using namespace std;
int main() {
  int t;
  cin >> t;
  while (t--) {
    int n;
    cin >> n;
    int arr[n];
    for (int i = 0; i < n; i++) cin >> arr[i];
    int mid = n / 2;
    vector<int> cnt;
    int ttl = 1;
    for (int i = 1; i < n; i++) {
      if (arr[i] == arr[i - 1])
        ttl++;
      else
        cnt.push_back(ttl), ttl = 1;
    }
    cnt.push_back(ttl);
    int g = 0, s = 0, b = 0;
    if (cnt.size() < 3)
      cout << 0 << ' ' << 0 << ' ' << 0 << endl;
    else {
      int sum = 0;
      deque<int> a, b, c;
      int suma = 0, sumb = 0, sumc = 0;
      for (int i = 0; i < cnt.size(); i++) {
        sum += cnt[i];
        if (sum > n / 2) break;
        if (a.empty()) {
          a.push_back(cnt[i]);
          suma += cnt[i];
        } else if (b.empty()) {
          b.push_back(cnt[i]);
          sumb += cnt[i];
        } else if (c.empty()) {
          c.push_back(cnt[i]);
          sumc += cnt[i];
        } else {
          a.push_back(b.front());
          suma += b.front();
          sumb -= b.front();
          b.pop_front();
          b.push_back(c.front());
          sumb += c.front();
          sumc -= c.front();
          c.pop_front();
          c.push_back(cnt[i]);
          sumc += cnt[i];
        }
      }
      while (a.size() && suma > sumb) {
        b.push_front(a.back());
        suma -= a.back();
        a.pop_back();
        sumb += b.front();
      }
      while (a.size() && suma > sumc) {
        c.push_front(a.back());
        suma -= a.back();
        a.pop_back();
        sumc += c.front();
      }
      if (suma && sumb && sumc)
        cout << suma << ' ' << sumb << ' ' << sumc << endl;
      else
        cout << 0 << ' ' << 0 << ' ' << 0 << endl;
    }
  }
}
