import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;

public class C {

    public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(System.in);
        PrintWriter out = new PrintWriter(System.out);

        int TC = sc.nextInt();
        for (int t = 0; t < TC; t++) {
            int n = sc.nextInt();
            int[] a = new int[n];
            for (int i = 0; i < n; i++) {
                a[i] = sc.nextInt();
            }
            int last = n / 2;
            while (last > 0 && a[last] == a[last + 1]) last--;
            List<Group> groups = new ArrayList<>();
            Group cur = new Group(a[0], 1);
            for (int i = 1; i < last; i++) {
                if (a[i] == a[i - 1]) {
                    cur.count++;
                } else {
                    groups.add(cur);
                    cur = new Group(a[i], 1);
                }
            }
            groups.add(cur);

            if (groups.size() < 3) {
                out.println("0 0 0");
                continue;
            }

            int g = groups.get(0).count;
            int s = 0;
            int idx = 1;
            for (; idx < groups.size() && s <= g; idx++) {
                s += groups.get(idx).count;
            }

            if (s <= g) {
                out.println("0 0 0");
                continue;
            }

            int b = 0;
            for (; idx < groups.size(); idx++) {
                b += groups.get(idx).count;
            }

            if (b <= g) {
                out.println("0 0 0");
                continue;
            }

            out.println(g + " " + s + " " + b);
        }
        out.flush();
        out.close();
    }

    static class Group {
        int val;
        int count;
        Group(int v, int c) {
            val = v;
            count = c;
        }
    }

    static class Scanner
    {
        StringTokenizer st;
        BufferedReader br;

        public Scanner(InputStream system) {br = new BufferedReader(new InputStreamReader(system));}
        public Scanner(String file) throws Exception {br = new BufferedReader(new FileReader(file));}
        public String next() throws IOException
        {
            while (st == null || !st.hasMoreTokens()) st = new StringTokenizer(br.readLine());
            return st.nextToken();
        }
        public String nextLine()throws IOException{return br.readLine();}
        public int nextInt() throws IOException {return Integer.parseInt(next());}
        public double nextDouble() throws IOException {return Double.parseDouble(next());}
        public char nextChar()throws IOException{return next().charAt(0);}
        public Long nextLong()throws IOException{return Long.parseLong(next());}
        public boolean ready() throws IOException{return br.ready();}
        public void waitForInput() throws InterruptedException {Thread.sleep(3000);}
    }
}
