#include <bits/stdc++.h>
using namespace ::std;
map<long long int, long long int> endmap;
long long int a[1000000];
vector<pair<long long int, long long int> > v;
int main() {
  long long int i, j, k, t, n, m, x, y, siz, l;
  cin >> t;
  while (t--) {
    cin >> n;
    for (i = 0; i < n; i++) {
      cin >> a[i];
    }
    v.clear();
    for (i = 0; i < n;) {
      long long int val = a[i];
      j = i + 1;
      while (j < n && a[j] == a[i]) {
        j++;
      }
      v.push_back(make_pair(val, j - i));
      i = j;
    }
    long long int maxMedals = n / 2;
    long long int goldMedals = v[0].second;
    long long int silverMedals = 0, bronzeMedals = 0;
    j = 1;
    siz = v.size();
    while (j < siz) {
      silverMedals += v[j].second;
      if (silverMedals > goldMedals) break;
      j++;
    }
    k = j + 1;
    while (k < siz) {
      bronzeMedals += v[k].second;
      if (bronzeMedals > goldMedals) break;
      k++;
    }
    long long int totalMedals = goldMedals + silverMedals + bronzeMedals;
    l = k + 1;
    while (l < siz) {
      if (totalMedals + v[l].second > n / 2) {
        break;
      }
      bronzeMedals += v[l].second;
      totalMedals += v[l].second;
      l++;
    }
    if (totalMedals <= n / 2 && goldMedals != 0 && silverMedals != 0 &&
        bronzeMedals != 0)
      cout << goldMedals << " " << silverMedals << " " << bronzeMedals << endl;
    else
      cout << "0 0 0\n";
  }
  return 0;
}
