

import java.util.*;

public class BeRC {
	
	public static ArrayList<Integer> count(int[] p, ArrayList<Integer> amount) {
		int count = 1;
		for (int i = 0; i < p.length - 1; i++) {
			if (p[i] == p[i+1]) {
				count++;			
			} else {
				amount.add(count);
				count = 1;
			}
		}
		amount.add(count);
		return amount;
	}
	
	public static int sumList(ArrayList<Integer> amount, int n) {
		int sum = 0;
		for (int i = 0; i < amount.size(); i++) {
			sum += amount.get(i);
			if (sum > n / 2) {
				sum -= amount.get(i);
				break;
			}
		}
		return sum;
	}
	
	public static int silver(ArrayList<Integer> amount, int n, int sumList) {
		int sum = 0;
		for (int i = 1; i < amount.size(); i++) {
			sum += amount.get(i);
			if (sum > amount.get(0)) {
				break;
			}
		}
		return sum;
	}
	
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int t = sc.nextInt();
		for (int T = 0; T < t; T++) {
			int n = sc.nextInt();	
			int[] p = new int[n];
			for (int i = 0; i < p.length; i++) {
				p[i] = sc.nextInt();
			}
			ArrayList<Integer> amount = new ArrayList<>();
			count(p, amount);
			int sum = sumList(amount, n);
			int silver = silver(amount, n, sum);
			if (n == 1 || amount.get(0) >= (sumList(amount, n) - amount.get(0)) / 2) {
				System.out.println("0" + " " + "0" + " " + "0");
			} else {	
				System.out.println(amount.get(0) + " " + silver + " " + (sum - amount.get(0) - silver));	
			}
		}
		sc.close();
	}
}