import java.util.*;

public class CodeForceContestQuestion3 {

    public static void main(String[] args) {
        BeautifulRegionalContest();
    }

    public static void BeautifulRegionalContest(){
        Scanner scanner = new Scanner(System.in);
        int testCases = scanner.nextInt();
        int[][] arrayOfNumbers = new int[testCases][];

        for(int i = 0; i < testCases; i++){
            int inputNumbersCount = scanner.nextInt();
            int[] inputNumbersArray = new int[inputNumbersCount];
            for (int j = 0; j < inputNumbersCount; j++) {
                inputNumbersArray[j] = scanner.nextInt();
            }

            arrayOfNumbers[i] = inputNumbersArray;
        }

        for (int i = 0; i < testCases; i++) {
            System.out.println(rewardMedals(arrayOfNumbers[i]));
        }
        scanner.close();
    }

    public static String rewardMedals(int[] countOfSolvedProblemByStudent){
        if(countOfSolvedProblemByStudent.length < 10){
            return "0 0 0";
        }

        int gold=1, silver=0, bronze=0, goldValue, silverValue=-1, count=0;

        goldValue = countOfSolvedProblemByStudent[0];
        for (int i = 1; i < countOfSolvedProblemByStudent.length/2; i++) {
            if(countOfSolvedProblemByStudent[i] == goldValue)
                gold++;
            else{
                if(silverValue == -1){
                    count = gold;
                    while(count > 0){
                        i++;
                        silver++;
                        count--;
                    }
                    silver++;
                    silverValue = countOfSolvedProblemByStudent[i];
                }
                else if(silverValue == countOfSolvedProblemByStudent[i])
                    silver++;
                else{
                    count = countOfSolvedProblemByStudent.length/2 -1 ;
                    while(countOfSolvedProblemByStudent[countOfSolvedProblemByStudent.length/2] == countOfSolvedProblemByStudent[count]){
                        bronze--;
                        count--;
                    }
                    bronze = countOfSolvedProblemByStudent.length/2 - gold - silver + bronze;
                    break;
                }
            }
            if(gold > countOfSolvedProblemByStudent.length/6 - 1)
                return "0 0 0";
        }

        while(gold + silver + bronze > countOfSolvedProblemByStudent.length/2){
            bronze--;
        }
        
        if(gold == 0 || silver == 0 || bronze == 0 || gold >= silver || gold >= bronze)
            return "0 0 0";

        return gold + " " + silver + " " + bronze;
    }
}
