import os
import sys
from atexit import register
from io import BytesIO
sys.stdin = BytesIO(os.read(0, os.fstat(0).st_size))
sys.stdout = BytesIO()
register(lambda: os.write(1, sys.stdout.getvalue()))
input = lambda: sys.stdin.readline().rstrip('\r\n')
 
def add(dic,k,v):
	if not dic.has_key(k):
		dic[k] = v
	else:
		dic[k] += v
def find(lst,v):
	ret  = []
	low,high = 0,len(lst)
	while low < high:
		mid = (low+high)/2
		if lst[mid]>= v:
			high = mid
			ret.append(mid)
		else:
			low = mid+1
	return min(ret)
t = int(input())
for _ in range(t):
	n = int(input())
	arr = map(int,input().split(" "))
	mid = n/2-1
	dic = {}
	tmp = [arr[0]]
	for i,v in enumerate(arr[:mid+1]):
		add(dic,v,1)
		if v!=tmp[0]:
			tmp.append(v)
	if len(dic) < 3:
		print 0,0,0
	elif len(dic) == 3 and arr[mid] == arr[-1]:
		print 0,0,0
	else:
		dic[arr[mid+1]] = 0
		keys = sorted(dic.keys(),reverse = True)
		l2 = len(keys)
		ps = [0]*l2
		ps[0] = dic[keys[0]]
		for j in range(1,l2):
			ps[j] = ps[j-1] + dic[keys[j]]
		found = False
		for j in range(1,l2-1):
			if ps[j]-ps[0] > ps[0] and ps[-1] - ps[j]> ps[0]:
				print ps[0],ps[j]-ps[0],ps[-1]-ps[j]
				found = True
				break
 
		if not found:
			print 0,0,0
 
