import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class A1264 {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int T = in.nextInt();
        StringBuilder output = new StringBuilder();
        for (int t=0; t<T; t++) {
            int N = in.nextInt();
            List<Integer> groups = new ArrayList<>();
            int lastP = -1;
            int start = -1;
            for (int n=0; n<N; n++) {
                int p = in.nextInt();
                if (lastP != p) {
                    if (lastP != -1) {
                        groups.add(n-start);
                    }
                    lastP = p;
                    start = n;
                }
            }
            groups.add(N-start);
            int idx = 0;
            int gold = groups.get(idx++);
            int silver = 0;
            while (idx < groups.size() && gold >= silver) {
                silver += groups.get(idx++);
            }
            int bronze = 0;
            while (idx < groups.size()) {
                int group = groups.get(idx++);
                if (2*(gold+silver+bronze+group) > N) {
                    break;
                }
                bronze += group;
            }
            boolean ok = (gold > 0) && (silver > 0) && (bronze > 0) && (gold < silver) && (gold < bronze) && (2*(gold+silver+bronze) <= N);
            if (!ok) {
                gold = silver = bronze = 0;
            }
            output.append(gold).append(' ').append(silver).append(' ').append(bronze).append('\n');
        }
        System.out.print(output);
    }

}
