#include <bits/stdc++.h>
using namespace std;
int dp[2][100000];
int main() {
  int t;
  cin >> t;
  while (t--) {
    int g = 0, s = 0, b = 0;
    int n;
    cin >> n;
    int a[n];
    for (int i = 0; i < n; i++) {
      cin >> a[i];
    }
    int cnt = 1, id = 0;
    for (int i = 0; i < n - 1; i++) {
      id++;
      if (a[i] == a[i + 1]) {
        cnt++;
      } else {
        g = cnt;
        break;
      }
    }
    vector<int> res1;
    int seg2 = 1;
    for (int i = id; i < n - 1; i++) {
      if (a[i] == a[i + 1]) {
        seg2++;
      } else {
        res1.push_back(seg2);
        seg2 = 1;
      }
    }
    res1.push_back(seg2);
    cnt = 1;
    for (int i = 0; i < res1.size(); i++) {
      if (s + res1[i] <= n / 2) {
        s += res1[i];
      }
      if (s > g) {
        break;
      }
    }
    id += s;
    cnt = 1;
    vector<int> res;
    int seg = 1;
    for (int i = id; i < n - 1; i++) {
      if (a[i] == a[i + 1]) {
        seg++;
      } else {
        res.push_back(seg);
        seg = 1;
      }
    }
    res.push_back(seg);
    for (int i = 0; i < res.size(); i++) {
      if (g + s + b + res[i] <= n / 2) {
        b += res[i];
      } else {
        break;
      }
    }
    if (s == 0 || g == 0 || b == 0) {
      cout << 0 << " " << 0 << " " << 0 << endl;
      continue;
    }
    if (s <= g || b <= g) {
      cout << 0 << " " << 0 << " " << 0 << endl;
      continue;
      ;
    }
    if (s + g + b <= n / 2) {
      cout << g << " " << s << " " << b << endl;
    }
  }
}
