#include <bits/stdc++.h>
#pragma GCC optimize("Ofast")
#pragma GCC optimize("unroll-loops")
#pragma GCC target("sse2")
using namespace std;
bool isPowerOfTwo(long long int x) { return x && (!(x & (x - 1))); }
long long int Modular_Exponentiation(long long int x, long long int n,
                                     long long int M) {
  if (n == 0) return 1;
  if (n % 2)
    return (x * Modular_Exponentiation((x * x) % M, n / 2, M)) % M;
  else
    return (Modular_Exponentiation((x * x) % M, n / 2, M)) % M;
}
void solve() {
  long long int n;
  cin >> n;
  long long int arr[n];
  for (long long int i = 0; i < n; ++i) cin >> arr[i];
  if (n < 10) {
    cout << "0 0 0\n";
    return;
  }
  long long int i = 0;
  while (i < (n / 2) and arr[i] == arr[0]) i++;
  long long int g = i;
  if (g > (n - 4) / 6) {
    cout << "0 0 0\n";
    return;
  }
  long long int j = 2 * i;
  while (j < (n / 2) and arr[j] == arr[2 * i]) j++;
  long long int second = (j - i);
  long long int b = 0;
  long long int k = (n / 2) - 1;
  if (arr[k] == arr[k + 1]) {
    i = k;
    while (i >= j and arr[i] == arr[k]) i--;
    b = (i - j + 1);
  } else
    b = (n / 2 - j);
  if (b <= g) {
    cout << "0 0 0\n";
    return;
  }
  cout << g << " " << second << " " << b << "\n";
}
int32_t main() {
  std::ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  int T = 1;
  cin >> T;
  while (T--) solve();
  return 0;
}
