import java.util.*;
public class S {
	public static void main (String[] args) {
		Scanner in=new Scanner(System.in);
		int t=in.nextInt();
		for(int i=0;i<t;i++)
		{
		    int n=in.nextInt();
		    ArrayList<Integer> p=new ArrayList<Integer>();
		    ArrayList<Integer> al=new ArrayList<Integer>();
		    int g=0,s=0,b=0;
		    for(int j=0;j<n;j++)
		    {
		        p.add(in.nextInt());
		        if(j<n/2)
		        {
		            al.add(p.get(j).intValue());
		        }
		    }
		    HashSet<Integer> a=new HashSet<Integer>(al);
		  
		    if(a.size()<3)
		    {
		        
		        System.out.println(g+" "+s+" "+b);
		    }
		    else if(al.get(al.size()-1).intValue()==p.get(al.size()).intValue())
		    {
		        if((a.size()-1)<3)
		        {
		            System.out.println(g+" "+s+" "+b);
		        }
		        else
		        {
		            ArrayList<Integer> all=new ArrayList<Integer>();
		            for(int k=0;k<al.size();k++)
		            {
		                if(al.get(al.size()-1).intValue()==al.get(k).intValue())
		                {
		                    break;
		                }
		                all.add(al.get(k).intValue());
		            }
		            int m=all.get(0).intValue();
		            int l=0;
		            int temp=0;
		            for(int k=0;k<all.size();k++)
		            {
		                if(all.get(k).intValue()==m)
		                {
		                    g++;
		                }
		                else if(all.get(k).intValue()!=m && temp==0)
		                {
		                    //l=all.get(k).intValue();
		                    s++;
		                    temp=1;
		                }
		                else if(s<=g)
		                {
		                    s++;
		                    if(s>g)
		                    {
		                        l=all.get(k).intValue();
		                    }
		                }
		                else if(l==all.get(k).intValue())
		                {
		                    s++;
		                }
		                else 
		                {
		                    b++;
		                }
		            }
		            if(g>=s || g>=b)
		            {
		                System.out.println(0+" "+0+" "+0);
		            }
		            else if(g==0 || s==0 || b==0)
		            {
		                System.out.println(0+" "+0+" "+0);
		            }
		            else
		            {
		                System.out.println(g+" "+s+" "+b);
		            }
		        }
		    }
		    else
		    {
		        int m=al.get(0).intValue();
		        
		            int l=0;
		            int temp=0;
		            for(int k=0;k<al.size();k++)
		            {
		                if(al.get(k).intValue()==m)
		                {
		                    g++;
		                }
		                else if(al.get(k).intValue()!=m && temp==0)
		                {
		                    
		                    s++;
		                    temp=1;
		                }
		                else if(s<=g)
		                {
		                    s++;
		                    if(s>g)
		                    {
		                        l=al.get(k).intValue();
		                    }
		                }
		                else if(l==al.get(k).intValue())
		                {
		                    s++;
		                }
		                else 
		                {
		                    b++;
		                }
		            }
		            if(g>=s || g>=b)
		            {
		                System.out.println(0+" "+0+" "+0);
		            }
		            else if(g==0 || s==0 || b==0)
		            {
		                System.out.println(0+" "+0+" "+0);
		            }
		            else
		            {
		                System.out.println(g+" "+s+" "+b);
		            }
		            
		    }
		}
	}
}