#include <bits/stdc++.h>
using namespace std;
const long long N = 4e5 + 80, M = 2e5 + 9, INF = 0x3f3f3f3f, MOD = 100003;
long long f[N];
signed main(void) {
  ios::sync_with_stdio(false);
  long long t, n, num;
  cin >> t;
  while (t--) {
    cin >> n;
    map<long long, long long> mp;
    for (long long i = 0; i < n; ++i) {
      cin >> num;
      mp[num]++;
    }
    vector<long long> dt, ans;
    if (n < 5)
      cout << "0 0 0" << '\n';
    else {
      dt.push_back(0);
      for (auto it = mp.rbegin(); it != mp.rend(); ++it) {
        dt.push_back(it->second);
      }
      f[0] = 0;
      for (long long i = 1; i < dt.size(); ++i) {
        f[i] = f[i - 1] + dt[i];
      }
      long long a = 1, b = 2, c = 3;
      while (f[b] - f[a] <= dt[a] && b <= n) ++b;
      while (f[c + 1] <= n / 2 && c + 1 <= n) ++c;
      if (f[b] - f[a] > dt[a] && f[c] - f[b] > dt[a]) {
        cout << dt[a] << ' ' << f[b] - f[a] << ' ' << f[c] - f[b] << '\n';
      } else
        cout << "0 0 0" << '\n';
    }
  }
  return 0;
}
