#include <bits/stdc++.h>
using namespace std;
int p[400010], unq[400010];
int main() {
  int t;
  scanf("%d", &t);
  while (t--) {
    int n;
    scanf("%d", &n);
    unq[1] = 1;
    for (int i = 1; i <= n; i++) {
      scanf("%d", p + i);
      if (i > 1) unq[i] = unq[i - 1] + (p[i] == p[i - 1] ? 0 : 1);
    }
    if (n < 3) {
      printf("0 0 0\n");
      continue;
    }
    int b;
    for (b = n / 2; b > 0; b--)
      if (p[b] != p[b + 1]) break;
    if (b == 0 || unq[b] < 3) {
      printf("0 0 0\n");
      continue;
    }
    int g;
    for (g = b / 2; g > 0; g--)
      if (p[g] != p[g + 1]) break;
    if (g == 0) {
      printf("0 0 0\n");
      continue;
    }
    if (unq[b] < 3) {
      printf("0 0 0\n");
      continue;
    }
    int s;
    bool flag = false;
    for (int i = 1; i <= b; i++) {
      if (!flag && p[i] != p[i + 1]) {
        g = i;
        flag = true;
      } else if (flag && 2 * g < i && p[i] != p[i + 1]) {
        s = i - g;
        break;
      }
    }
    b = b - s - g;
    if (g >= b) {
      printf("0 0 0\n");
      continue;
    }
    printf("%d %d %d\n", g, s, b);
  }
  return 0;
}
