#include <bits/stdc++.h>
using namespace std;
int main() {
  long long t;
  cin >> t;
  char a[3] = {'a', 'b', 'c'};
  while (t--) {
    int n;
    cin >> n;
    vector<int> v;
    int x, y;
    cin >> x;
    for (int i = 1; i < n; i++) {
      cin >> y;
      if (y != x) v.push_back(i);
      x = y;
    }
    int f = 0;
    v.push_back(n);
    int g = v[0], s, b;
    auto upper = upper_bound(v.begin(), v.end(), 2 * g);
    if (upper - v.begin() == v.size()) {
      cout << "0 0 0" << endl;
      continue;
    }
    s = *upper;
    upper = upper_bound(v.begin(), v.end(), s + g);
    if (upper - v.begin() == v.size()) {
      cout << "0 0 0" << endl;
      continue;
    }
    b = *upper;
    upper = upper_bound(v.begin(), v.end(), n / 2);
    if (upper != v.begin()) {
      upper--;
      b = max(*upper, b);
    }
    if (b > n / 2) {
      cout << "0 0 0" << endl;
      continue;
    } else
      cout << g << ' ' << s - g << ' ' << b - s << endl;
  }
}
