#include <bits/stdc++.h>
using namespace std;
void print(vector<long long> &A) {
  for (long long a : A) {
    cout << a << " ";
  }
  cout << "\n";
}
int main() {
  int t;
  cin >> t;
  while (t--) {
    int n;
    cin >> n;
    vector<long long> p(n);
    for (long long &a : p) {
      cin >> a;
    }
    int maxLen = n / 2;
    while (maxLen < n && maxLen > 0 && p[maxLen] == p[maxLen - 1]) {
      maxLen--;
    }
    map<long long, long long> m;
    for (int i = 0; i < maxLen; i++) {
      m[p[i]]++;
    }
    if (m.size() < 3) {
      cout << "0 0 0\n";
    } else {
      long long g = 0, s = 0, b = 0, counter = 0;
      for (int i = 0; i < maxLen; i++) {
        if (counter == 0) {
          g = m[p[i]];
        } else if (counter == 1) {
          s = m[p[i]];
        } else {
          if (g >= s) {
            s += m[p[i]];
          } else {
            b += m[p[i]];
          }
        }
        while (i + 1 < maxLen && p[i] == p[i + 1]) {
          i++;
        }
        counter++;
      }
      if (g && s && b) {
        cout << g << " " << s << " " << b << "\n";
      } else {
        cout << "0 0 0\n";
      }
    }
  }
  return 0;
}
