#include <bits/stdc++.h>
using namespace std;
int main() {
  long long int i, j, k, a, b, c, d, f, n, t, go, si, br, si1, h, lo, kk;
  vector<long long int> v, s;
  cin >> t;
  for (i = 1; i <= t; i++) {
    cin >> n;
    v.clear();
    for (j = 1; j <= n; j++) {
      cin >> a;
      v.push_back(a);
    }
    if (n < 6) {
      cout << "0 0 0" << endl;
    } else {
      h = n / 2;
      go = 0;
      si = 0;
      br = 0;
      c = 0;
      j = 0;
      while (v[j] == v[j + 1]) {
        c++;
        j++;
        go++;
      }
      j = j + 1;
      c++;
      go++;
      si1 = 0;
      for (k = j; k + 1 < v.size(); k++) {
        if (v[k] == v[k + 1]) {
          lo = 0;
          if (si1 < 2) {
            c++;
            si++;
            while (v[k] == v[k + 1]) {
              k++;
              c++;
              si++;
              lo++;
              if (c > h) {
                si = si - lo;
                si = si - 1;
                c = c - lo;
                kk = k - lo;
                break;
                f = 1;
              }
            }
            if (f != 1) {
              si1++;
              if (si1 == 2) {
                kk = k + 1;
                break;
              }
            } else {
              break;
            }
          }
        } else {
          if (si1 < 2) {
            si++;
            c++;
            si1++;
            if (c > h) {
              si = si - 1;
              c--;
              kk = k - 1;
              break;
            }
            if (si1 == 2) {
              kk = k + 1;
              break;
            }
          }
        }
        if (si1 == 2) {
          kk = k;
          break;
        }
      }
      for (k = kk; k + 1 < v.size(); k++) {
        if (c < h) {
          if (v[k] == v[k + 1]) {
            c++;
            br++;
            lo = 0;
            while (v[k] == v[k + 1]) {
              c++;
              br++;
              lo++;
              k++;
              if (c > h) {
                br = br - lo;
                br = br - 1;
                break;
              }
            }
          } else {
            c++;
            br++;
            if (c > h) {
              br = br - 1;
              break;
            }
          }
        } else {
          break;
        }
      }
      if (go >= 1 && si >= 2 && br >= 2) {
        cout << go << " " << si << " " << br << endl;
      } else {
        cout << "0 0 0" << endl;
      }
    }
  }
  return 0;
}
