#include <bits/stdc++.h>
using namespace std;
int main() {
  int t;
  cin >> t;
  while (t--) {
    int n;
    cin >> n;
    int a[n + 1];
    for (int i = 1; i <= n; i++) cin >> a[i];
    if (n < 10)
      cout << "0 0 0\n";
    else {
      sort(a + 1, a + n + 1, greater<int>());
      vector<int> vc;
      for (int i = 1; i <= n / 2; i++) vc.push_back(a[i]);
      int g = 1, b = 0, s = 0;
      int flag = 0;
      int index = 0;
      for (int i = 0; i < vc.size(); i++) {
        if (i == vc.size() - 1) {
          flag = 1;
          index = i;
          break;
        }
        if (vc[i] == vc[i + 1])
          ++g;
        else {
          index = i + 1;
          break;
        }
      }
      if (flag == 1)
        cout << "0 0 0\n";
      else {
        int flag = 0;
        for (int i = index; i < vc.size(); i++) {
          if (i == vc.size() - 1) {
            flag = 1;
            index = i;
            break;
          } else if (s <= g)
            ++s;
          else if (s > g && vc[i - 1] != vc[i]) {
            index = i;
            break;
          } else if (s > g && vc[i - 1] == vc[i])
            ++s;
        }
        if (flag == 1)
          cout << "0 0 0\n";
        else {
          g = g;
          s = s;
          int o = 0;
          int curr = a[(n / 2) + 1];
          for (int i = vc.size() - 1; i >= 0; i--) {
            if (vc[i] == curr) o++;
          }
          b = ((vc.size() - 1) - index) + 1;
          b = b - o;
          if (g < s && g < b)
            cout << g << " " << s << " " << b << endl;
          else
            cout << "0 0 0\n";
        }
      }
    }
  }
  return 0;
}
