#include <bits/stdc++.h>
using namespace std;
struct node {
  int a, b, c;
} ans;
int x[400005], sum = 0, k, n, i, t, _, u[400005], tot = 0, pre;
int main() {
  scanf("%d", &t);
  for (_ = 1; _ <= t; _++) {
    scanf("%d", &n);
    ans.a = ans.b = ans.c = 0;
    for (i = 1; i <= n; i++) scanf("%d", &x[i]);
    pre = x[1];
    tot = 0;
    sum = 0;
    for (i = 1; i <= n; i++) {
      if (x[i] != pre) {
        u[++tot] = sum;
        sum = 0;
      }
      sum++;
      pre = x[i];
    }
    u[++tot] = sum;
    sum = 0;
    for (i = 1; i <= tot; i++) {
      sum += u[i];
      u[i] = sum;
      if (sum > n / 2) break;
    }
    k = i;
    for (i = 1; i < k; i++) {
      if (u[i] - u[1] > u[1] && u[k - 1] - u[i] > u[1]) {
        ans.a = u[1];
        ans.b = u[i] - u[1];
        ans.c = u[k - 1] - u[i];
        break;
      }
    }
    printf("%d %d %d\n", ans.a, ans.b, ans.c);
  }
  return 0;
}
