import bisect
import collections
import copy
import functools
import heapq
import itertools
import math
import random
import re
import sys
import time
import string
from typing import List
sys.setrecursionlimit(99999)

for _ in range(int(input())):
    n = int(input())
    arr = list(map(int,input().split()))
    if n<5:
        print("0 0 0")
        continue
    g,s,b=0,0,0
    score = [[arr[0],1]]
    for c in arr[1:]:
        if c== score[-1][0]:
            score[-1][1]+=1
        else:
            score.append([c,1])
    gt=0
    for i in range(len(score)):
        gt+= score[i][1]
        st = bt= 0
        j = i+1
        while st<=gt and j<len(score):
            st+= score[j][1]
            j+=1
        while bt<=gt and j<len(score):
            bt+= score[j][1]
            j+=1
        if gt>0 and st>0 and bt>0 and gt<st and gt<bt:
            g,s,b = gt,st,bt
        else:
            break
    print(g,s,b)
