#include <bits/stdc++.h>
using namespace std;
mt19937_64 gen;
vector<int> Do(vector<int> first, int second) {
  first[second]++;
  return first;
}
void run() {
  int t;
  cin >> t;
  while (t--) {
    int n;
    cin >> n;
    vector<int> a(n);
    for (int &first : a) cin >> first;
    vector<vector<vector<int>>> dp(n, vector<vector<int>>(3));
    vector<int> te(3);
    dp[0][0] = Do(te, 0);
    for (int i = 0; i < n - 1; i++) {
      for (int j = 0; j < 3; j++) {
        if (!dp[i][j].empty()) dp[i + 1][j] = Do(dp[i][j], j);
        if (!dp[i][j].empty() && a[i + 1] != a[i] && j < 2)
          dp[i + 1][j + 1] = Do(dp[i][j], j + 1);
      }
    }
    bool flag = 0;
    for (int i = n; i > 0; i--) {
      if (i * 2 <= n && !dp[i - 1][2].empty()) {
        flag = 1;
        cout << dp[i - 1][2][0] << ' ' << dp[i - 1][2][1] << ' '
             << dp[i - 1][2][2] << '\n';
        flag = 1;
        break;
      }
    }
    if (!flag) {
      cout << "0 0 0\n";
    }
  }
}
signed main() {
  gen.seed(time(0));
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout << fixed << setprecision(2);
  run();
}
