import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Collections;
import java.util.HashMap;
import java.util.StringTokenizer;
import java.util.Vector;

public class Code {
    static class FastReader
    {
        BufferedReader br;
        StringTokenizer st;

        public FastReader()
        {
            br = new BufferedReader(new
                    InputStreamReader(System.in));
        }

        String next()
        {
            while (st == null || !st.hasMoreElements())
            {
                try
                {
                    st = new StringTokenizer(br.readLine());
                }
                catch (IOException  e)
                {
                    e.printStackTrace();
                }
            }
            return st.nextToken();
        }

        int nextInt()
        {
            return Integer.parseInt(next());
        }

        long nextLong()
        {
            return Long.parseLong(next());
        }

        double nextDouble()
        {
            return Double.parseDouble(next());
        }

        String nextLine()
        {
            String str = "";
            try
            {
                str = br.readLine();
            }
            catch (IOException e)
            {
                e.printStackTrace();
            }
            return str;
        }
    }
    public static void main(String[] args) {
        FastReader sc = new FastReader();
        int t = sc.nextInt();
        while (t-->0) {
            int n = sc.nextInt();
            int[] pr = new int[n];
            HashMap<Integer,Integer> map = new HashMap<>();
            for(int i=0;i<n;i++) {
                pr[i] = sc.nextInt();
            }
            Vector<Integer> k = new Vector<>();
            for(int i=0;i<n;i++) {
                map.putIfAbsent(pr[i],0);
                map.put(pr[i],map.get(pr[i])+1);

            }
            for(int key : map.keySet()) {
                k.add(key);
            }
            Collections.sort(k);
            int l = k.size();
            int g=0,s=0,b=0;
            boolean f = true;
            for(int i=l-1;i>=0;i--) {
                if(i==l-1)
                    g= map.get(k.get(i));
                else if(f) {
                    if (s + map.get(k.get(i)) <= g) {
                        s += map.get(k.get(i));
                    }
                    else {
                        s+=map.get(k.get(i));
                        f = false;
                    }
                }
                else {
                    if(g+s+(b+map.get(k.get(i)))<=n/2) {
                        b += map.get(k.get(i));
                    } else {
                        n=0;
                    }
                }
            }

            if(g==0||s==0||b==0||g>=b)
                System.out.println("0 0 0");
            else
                System.out.println(g+" "+s+" "+b);
        }
    }
}
