import java.util.*;
import java.io.*;

public class Div2_604C {
	public static void main(String[] args) throws IOException {
		Scanner sc = new Scanner(System.in);
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st;
		PrintWriter pw = new PrintWriter(System.out);
		
		int t = Integer.parseInt(br.readLine());
		while(t-->0) {
			int n = Integer.parseInt(br.readLine());
			int[] array = new int[n];
			st = new StringTokenizer(br.readLine());
			for(int i = 0; i < n; i++)
				array[i] = Integer.parseInt(st.nextToken());
			
			if(n < 6) {
				pw.println("0 0 0");
			} else {
				boolean flag = true;
				int ng = 1;
				for(int i = 1; i < n; i++) {
					if(array[i] != array[i - 1])
						break;
					ng++;
				}
				
				int newN = n / 2;
				int nb = 0, ns = 0;
				//System.out.println((newN - ng) / 2 + " " + ng);
				if((newN - ng) / 2 <= ng)
					flag = false;
				else {
					flag = false;
					for(int i = ng; i < newN; i++) {
						if(array[i] != array[i + 1]) {
							int n1 = i + 1 - ng;
							int n2 = newN - ng - n1;
							int c = 0;
							for(int j = (n / 2) - 1; j >= 0; j--) {
								if(array[j] != array[j + 1])
									break;
								c++;
							}
							//System.out.println(n1 + " " + n2 + " " + c);
							n2 -= c;
							//System.out.println(n2);
							if(n1 > ng && n2 > ng) {
								flag = true;
								ns = n1;
								nb = n2;
							}
						}
					}
				}
				
				pw.println(flag ? (ng + " " + ns + " " + nb) : "0 0 0");
			}
		}
		
		pw.flush();
	}
}
