
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Objects;
import java.util.Scanner;

/**
 *
 * @author ahmed.adel
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args)  {
       Scanner input = new Scanner(System.in);
       
      
       int testCases = input.nextInt();
      
       
       for(int x = 1 ; x<=testCases ; x++){
           int g =0 , s =0, b = 0;
        int len = input.nextInt();
        int[] problemsSolvingArr = new int[len];
        for(int n =0 ; n < len ; n++){
            problemsSolvingArr[n] = input.nextInt();
        }
        
        if(len < 10){
            System.out.println(g+" "+s+" "+b);
        }else{
            int halfOfArr = len / 2;
           
            if(Objects.equals(problemsSolvingArr[halfOfArr-1], problemsSolvingArr[halfOfArr])){
              
              boolean flagHalf = true;
              halfOfArr --;
              while(flagHalf){
                  
              if((Objects.equals(problemsSolvingArr[halfOfArr-1], problemsSolvingArr[halfOfArr])) && halfOfArr != 1){
                 
               halfOfArr --;
              
              }else{
              flagHalf = false;
              }
              }
            }
            if(halfOfArr >= 5){
                boolean goldFlag = true;
                g++;
                int index ;
           for(index = 1 ; index < halfOfArr&&goldFlag ; index++){
              if(Objects.equals(problemsSolvingArr[index], problemsSolvingArr[index-1])){
                g++;
              }else{
               goldFlag = false;
              }
           }  
           index--;
          
           if((halfOfArr - index) < ((g*3)+2)){
              
             System.out.println("0 0 0"); 
           }else{
              
               int newIndex ;
               boolean silverFlag = true;
               
           for(newIndex = index; newIndex < halfOfArr ; newIndex++){
             
             if(!(s > g)){          
              s++;
             }else{
                 if(silverFlag)
                 {
                   if(Objects.equals(problemsSolvingArr[newIndex], problemsSolvingArr[newIndex-1])){
                       s++;
                        
                   }else{
                   silverFlag = false;
                    b++;
                   }
                 }else{
                  b = b+(halfOfArr-newIndex);
                  break;
                 }
            
             }
           }
           if(g > 0 && s > g && b > g){
                System.out.println(g+" "+s+" "+b);
           }else{
               System.out.println("0 0 0"); 
           }
           }
           
        }else{
                 
                System.out.println("0 0 0"); 
                }
           
        }
        
        }
      }
      
   
    
}



