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

public class P604C {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int t = Integer.parseInt(br.readLine());
        for(int i=0; i<t; i++) {
            int n = Integer.parseInt(br.readLine());
            String[] line = br.readLine().split(" ");
            int[] p = new int[n];
            for(int j=0; j<n; j++) {
                p[j] = Integer.parseInt(line[j]);
            }

            boolean valid = true;

            int numGold = 0;
            while(valid && p[numGold] == p[0]) {
                numGold++;
                if(numGold == p.length)
                    valid = false;
            }
            int minNumSilver = 0;
            while(valid && (p[numGold + minNumSilver] == p[numGold] || minNumSilver <= numGold || p[numGold + minNumSilver] == p[numGold + minNumSilver - 1])) {
                minNumSilver++;
                if(numGold + minNumSilver == p.length)
                    valid = false;
            }
            int minNumBronze = 0;
            while(valid && (p[numGold + minNumSilver + minNumBronze] == p[numGold + minNumSilver] || minNumBronze <= numGold || p[numGold + minNumSilver + minNumBronze] == p[numGold + minNumSilver + minNumBronze - 1])) {
                minNumBronze++;
                if(numGold + minNumSilver + minNumBronze == p.length)
                    valid = false;
            }

            if(numGold + minNumSilver + minNumBronze > n/2 || !valid) {
                System.out.println("0 0 0");
            } else {
                int noMedalIndex = (n/2);
                int maxBronzeIndex = noMedalIndex;
                while(p[maxBronzeIndex] == p[noMedalIndex]) {
                    maxBronzeIndex--;
                }
                int numBronze = maxBronzeIndex + 1 - numGold - minNumSilver;
                System.out.println(numGold + " " + minNumSilver + " " + numBronze);
            }

        }
    }
}
