#include <bits/stdc++.h>
using namespace std;
long long int power(long long int x, long long int y) {
  if (y == 0) return 1;
  long long int p = power(x, y / 2) % 1000000007;
  p = (p * p) % 1000000007;
  return (y % 2 == 0) ? p : (x * p) % 1000000007;
}
long long int factorial[100007] = {0};
long long int fact(long long int n) {
  memset(factorial, 0, sizeof(factorial));
  factorial[0] = 1;
  factorial[1] = 1;
  for (int i = 1; i < n; i++) {
    factorial[i] = (factorial[i - 1] * i) % 1000000007;
  }
}
long long int ncr(long long int n, long long int r) {
  long long int ans = 1;
  long long int i;
  for (i = r + 1; i <= n; i++) {
    ans = (ans * i) % 1000000007;
  }
  for (i = 2; i <= n - r; i++) {
    ans = (ans * power(i, 1000000007 - 2)) % 1000000007;
  }
  return ans;
}
long long int gcd(long long int a, long long int b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
bool prime[100000006];
void sieve(long long int n) {
  memset(prime, true, sizeof(prime));
  prime[1] = false;
  for (long long int p = 2; p * p <= n; p++) {
    if (prime[p]) {
      for (long long int i = p * p; i <= n; i += p) prime[i] = false;
    }
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  long long int t;
  cin >> t;
  while (t--) {
    long long int n;
    cin >> n;
    long long int a[n];
    long long int i;
    for (i = 0; i < n; i++) {
      cin >> a[i];
    }
    vector<long long int> v;
    long long int count = 1;
    for (i = 0; i < n / 2; i++) {
      if (a[i] == a[i + 1]) {
        count++;
      } else {
        v.push_back(count);
        count = 1;
      }
    }
    if (v.size() < 3)
      cout << 0 << " " << 0 << " " << 0 << '\n';
    else {
      long long int g = v[0], s, b;
      i = 1;
      long long int sum = 0;
      int bol = 0;
      while (i < v.size()) {
        sum += v[i];
        i++;
        if (sum > v[0]) break;
      }
      if (sum <= v[0]) {
        bol = 1;
      } else {
        s = sum;
      }
      if (bol == 0) {
        sum = 0;
        while (i < v.size()) {
          sum += v[i];
          i++;
        }
        if (sum <= v[0])
          bol = 1;
        else
          b = sum;
      }
      if (bol == 1)
        cout << 0 << " " << 0 << " " << 0 << '\n';
      else
        cout << g << " " << s << " " << b << '\n';
    }
  }
  return 0;
}
