#include <bits/stdc++.h>
using namespace std;
const int N = 400010;
int n;
int vis[1000010];
int a[N];
int main() {
  int t;
  scanf("%d", &t);
  while (t--) {
    memset(vis, 0, sizeof(vis));
    scanf("%d", &n);
    for (int i = 1; i <= n; i++) {
      scanf("%d", &a[i]);
    }
    int flag = 0;
    int ans1, ans2, ans3;
    int pre = 0;
    ans1 = ans2 = ans3 = 0;
    for (int i = 1; i <= n / 2; i++) {
      if (!vis[a[i]]) {
        flag++;
        if (flag == 1)
          ans1 = i;
        else if (flag == 2)
          ans2 = i - ans1;
        else
          ans3 = i - ans2 - ans1;
        pre = i;
      } else {
        if (flag == 1)
          ans1 = i;
        else if (flag == 2)
          ans2 = i - ans1;
        else
          ans3 = i - ans2 - ans1;
      }
      vis[a[i]]++;
    }
    if (a[n / 2 + 1] == a[n / 2]) {
      if (flag <= 3)
        flag = 0;
      else {
        ans3 = pre - 1;
        ans3 = ans3 - ans2 - ans1;
      }
    }
    if (flag < 3)
      printf("0 0 0\n");
    else
      printf("%d %d %d\n", ans1, ans2, ans3);
  }
  return 0;
}
