#include <bits/stdc++.h>
using namespace std;
int a[400400], b[400400];
int main() {
  int t;
  scanf("%d", &t);
  while (t--) {
    int n;
    scanf("%d", &n);
    int G, S, B;
    for (int i = 1; i <= n; i++) scanf("%d", a + i), b[i] = a[i];
    reverse(b + 1, b + n + 1);
    G = n - (lower_bound(b + 1, b + n + 1, b[n]) - b) + 1;
    if (G * 2 >= n) {
      puts("0 0 0");
      continue;
    }
    S = n - (lower_bound(b + 1, b + n + 1, b[n - 2 * G]) - b) + 1 - G;
    if (2 * G + S >= n) {
      puts("0 0 0");
      continue;
    }
    B = n - (lower_bound(b + 1, b + n + 1, b[n - 2 * G - S]) - b) + 1 - G - S;
    if (G + S + B > n / 2 or G >= S or G >= B) {
      puts("0 0 0");
      continue;
    }
    int r = (n + 1) / 2;
    int it = upper_bound(b + 1, b + n + 1, b[r]) - b;
    B = n - it + 1 - S - G;
    printf("%d %d %d\n", G, S, B);
  }
  return 0;
}
