#include <bits/stdc++.h>
using namespace std;
const int MAXN = 2e5 + 51;
int main() {
  int t;
  scanf("%d", &t);
  for (int i = 0; i < t; i++) {
    int n;
    scanf("%d", &n);
    int a[n + 1];
    for (int i = 1; i <= n; i++) {
      scanf("%d", &a[i]);
    }
    if (n < 6) {
      printf("0 0 0\n");
      continue;
    } else {
      if (a[n / 2] == a[n / 2 + 1]) {
        int t1 = 0;
        for (int i = n / 2; i >= 2; i--) {
          if (a[i - 1] != a[i]) {
            t1 = i - 1;
            break;
          }
        }
        int count = 0;
        for (int i = 1; i <= t1; i++) {
          if (a[i] != a[i + 1]) {
            count++;
          }
        }
        if (count < 3) {
          printf("0 0 0\n");
          continue;
        } else {
          int n = 1;
          int i;
          for (i = 1; a[i] == a[i + 1]; i++) {
            n++;
          }
          i++;
          printf("%d ", n);
          n = 1;
          for (; a[i] == a[i + 1]; i++) {
            n++;
          }
          i++;
          printf("%d ", n);
          n = 0;
          for (; i <= t1; i++) {
            n++;
          }
          printf("%d\n", n);
          goto x;
        }
      } else {
        int count = 0;
        for (int i = 1; i <= n / 2; i++) {
          if (a[i] != a[i + 1]) {
            count++;
          }
        }
        if (count < 3) {
          printf("0 0 0\n");
          continue;
        } else {
          int t = 1;
          int i;
          for (i = 1; a[i] == a[i + 1]; i++) {
            t++;
          }
          i++;
          printf("%d ", t);
          t = 1;
          for (; a[i] == a[i + 1]; i++) {
            t++;
          }
          printf("%d ", t);
          t = 0;
          i++;
          for (; i <= n / 2; i++) {
            t++;
          }
          printf("%d\n", t);
          goto x;
        }
      }
    }
  x : {};
  }
  return 0;
}
