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

public class practicing {
    static class tri {
        int l;
        int last;
        int beg;

        public tri(int m, int b, int ma) {
            l = m;
            last = ma;
            beg = b;
        }
    }

    static int beg2 = -1, beg3 = -1, max = -1;

    static long pow(long n, int e) {
        long res = 1;
        while (e-- > 0) {
            res *= n;
        }
        return res;
    }

    static int binarySearch(int[] p, int lo, int hi, int val) {
        int ans = -1;
        while (lo <= hi) {
            int mid = (lo + hi) >> 1;
            if (p[mid] < val) {
                ans = mid;
                hi = mid - 1;
            } else lo = mid + 1;
        }
        return ans;
    }
    static int binarySearch2(int[] p, int lo, int hi, int val) {
        int ans = -1;
        while (lo <= hi) {
            int mid = (lo + hi) >> 1;
            if (p[mid] == val) {
                ans = mid;
               hi=mid-1;
            } else lo = mid + 1;
        }
        return ans;
    }

    static boolean threeVal(int[] p, int m) {
        int lo = 1;
        int hi = m - 1;
        int val = p[0];
        max=m;
        int ans = binarySearch(p, lo, hi, val);
        if (ans == -1)
            return false;
        val = p[ans + 1];
        beg2 = ans;
        lo = ans + 2;
        hi = m - 1;
        ans = binarySearch(p, lo, hi, val);

        if (ans == -1)
            return false;
        beg3 = ans;
        if (m - beg3 == 1) {
            return false;
        }
        if(p[m]<p[m-1])
            return true;
        val = p[m-1];
        lo = beg3+2;
        hi = m-1;
        max=binarySearch2(p,lo,hi,val);
        if(max==-1)
            return false;

        return true;


    }


    public static void main(String[] args) throws IOException {
        //BufferedReader br = new BufferedReader(new FileReader("folding.in"));
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st;
        //PrintWriter out = new PrintWriter("folding.out");
        PrintWriter out = new PrintWriter(System.out);
        int t = Integer.parseInt(br.readLine());
        while (t-- > 0) {
            int n = Integer.parseInt(br.readLine());
            int[] p = new int[n];
            st = new StringTokenizer(br.readLine());
            for (int i = 0; i < n; i++) {
                p[i] = Integer.parseInt(st.nextToken());
            }
            int m = n / 2;
            if (m < 5) {
                out.println("0 0 0");
            } else {
                if (threeVal(p, m)) {
                   if(max-beg3>beg2&&beg3-beg2>beg2)
                       out.println(beg2+" "+(beg3-beg2)+" "+(max-beg3));
                   else out.println("0 0 0");
                } else out.println("0 0 0");
            }

        }
        out.flush();

    }
}
