#include <bits/stdc++.h>
using namespace std;
const int N = 400010;
int n;
int p[N];
int a[N], sa[N], hx[N], hy[N];
int findf(int x) {
  int l = 1, r = hy[0];
  while (l <= r) {
    int mid = l + r >> 1;
    if (hy[mid] > x)
      r = mid - 1;
    else if (hy[mid] < x)
      l = mid + 1;
    else
      return mid;
  }
}
int main() {
  int T;
  scanf("%d", &T);
  while (T--) {
    scanf("%d", &n);
    for (int i = 1; i <= n; i++) scanf("%d", &p[i]);
    for (int i = 1; i <= n; i++) a[i] = 0;
    int m = 0;
    for (int i = 1; i <= n; i++) {
      a[m + 1]++;
      if (i == n || p[i] != p[i + 1]) {
        m++;
      }
    }
    for (int i = 1; i <= m; i++) sa[i] = sa[i - 1] + a[i];
    int g = 1, s = 1, b = 1, ans1 = 0, ans2 = 0, ans3 = 0;
    while (sa[b] * 2 <= n) {
      while (s <= m && sa[s] - sa[g] <= sa[g]) {
        s++;
      }
      if (s > m) break;
      b = s;
      while (b <= m && sa[b] - sa[s] <= sa[g]) {
        b++;
      }
      if (b > m || sa[b] * 2 > n) break;
      while (b + 1 < m && sa[b + 1] * 2 <= n) b++;
      ans1 = sa[g];
      ans2 = sa[s] - sa[g];
      ans3 = sa[b] - sa[s];
      break;
    }
    printf("%d %d %d\n", ans1, ans2, ans3);
  }
  return 0;
}
