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

public class A {

    FastScanner scanner;
    PrintWriter writer;

    Integer n;
    Integer g;
    Integer s;
    Integer b;

    void solve() throws IOException {
        scanner = new FastScanner(System.in);
        writer = new PrintWriter(System.out);

        int tests = scanner.nextInt();
        for (int t = 0; t < tests; t++) {
            n = scanner.nextInt();

            g = s = b = null;

            int prev = -1;
            int c = 0;
            boolean stop = false;
            for (int i = 0; i < n; i++) {
                int a = scanner.nextInt();
                if (prev == a)
                    c++;
                else {
                    if (c > 0 && !stop) {
                        stop = !processStreak(c);
                    }
                    c = 1;
                    prev = a;
                }
            }
            if (c > 0 && !stop)
                processStreak(c);

            if (g != null && s != null && b != null && s > g && b > g && (g + s + b <= n / 2)) {
                writer.println(g + " " + s + " " + b);
            } else {
                writer.println("0 0 0");
            }
        }

        writer.close();
    }

    boolean processStreak(int c) {
        if (g == null)
            g = c;
        else if (s == null)
            s = c;
        else if (s <= g)
            s += c;
        else if (b == null)
            b = c;
        else if (g + s + b + c <= n / 2)
            b += c;
        else
            return false;

        return true;
    }

    public static void main(String... args) throws IOException {
        new A().solve();
    }

    static class FastScanner {

        BufferedReader br;
        StringTokenizer tokenizer;

        FastScanner(String fileName) throws FileNotFoundException {
            this(new FileInputStream(new File(fileName)));
        }

        FastScanner(InputStream is) {
            br = new BufferedReader(new InputStreamReader(is));
        }

        String nextLine() throws IOException {
            tokenizer = null;
            return br.readLine();
        }

        String next() throws IOException {
            while (tokenizer == null || !tokenizer.hasMoreTokens()) {
                String line = br.readLine();
                if (line == null) {
                    return null;
                }
                tokenizer = new StringTokenizer(line);
            }
            return tokenizer.nextToken();
        }

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

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