#include <bits/stdc++.h>
using namespace std;
long long int max3(long long int a, long long int b, long long int c) {
  return (max(a, max(b, c)));
}
long long int max4(long long int a, long long int b, long long int c,
                   long long int d) {
  return (max(a, max(b, max(c, d))));
}
long long int max5(long long int a, long long int b, long long int c,
                   long long int d, long long int e) {
  return (max(a, max(b, max(c, max(d, e)))));
}
long long int min3(long long int a, long long int b, long long int c) {
  return (min(a, min(b, c)));
}
vector<long long int> freq_char_s(string string) {
  vector<long long int> freq(26, 0);
  for (long long int i = 0; i < string.size(); i++) {
    freq[(int)string[i] - 96] += 1;
  }
  return freq;
}
long long int gcd(long long int a, long long int b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
long long int fact(long long int n, long long int r) {
  if (n == r) return 1;
  if (r == 1) return n;
  return fact(n - 1, r) + fact(n - 1, r - 1);
}
bool isVowel(char c) {
  if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u') {
    return true;
  }
  return false;
}
bool LexCompare(const pair<string, long long int> &a,
                const pair<string, long long int> &b) {
  return lexicographical_compare(a.first.begin(), a.first.end(),
                                 b.first.begin(), b.first.end());
}
bool Lex(const long long int a, const long long int b) {
  if ((a + b) % 2 == 1 && a < b) {
    return true;
  }
  return false;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  long long int t;
  cin >> t;
  while (t--) {
    long long int n;
    cin >> n;
    vector<long long int> p(n);
    for (long long int i = 0; i < n; i++) cin >> p[i];
    long long int ee = n / 2 - 1;
    while (ee > 0) {
      if (p[ee] != p[ee + 1])
        break;
      else
        ee--;
    }
    map<long long int, long long int> make_pair;
    for (long long int i = 0; i <= ee; i++) {
      make_pair[p[i]] += 1;
    }
    if (make_pair.size() < 3) {
      cout << "0 0 0";
      cout << endl;
      continue;
    }
    long long int g = 0, s = 0, b = 0;
    auto ri = make_pair.rbegin();
    g = ri->second;
    ++ri;
    for (; ri != make_pair.rend(); ++ri) {
      if (s > g) break;
      s += ri->second;
    }
    for (; ri != make_pair.rend(); ++ri) {
      b += ri->second;
    }
    if (g >= s || g >= b) {
      cout << "0 0 0";
      cout << endl;
      continue;
    }
    cout << g << " " << s << " " << b;
    cout << endl;
  }
}
