'''input
5
12
5 4 4 3 2 2 1 1 1 1 1 1
4
4 3 2 1
1
1000000
20
20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
32
64 64 63 58 58 58 58 58 37 37 37 37 34 34 28 28 28 28 28 28 24 24 19 17 17 17 17 16 16 16 16 11
'''
from sys import stdin,stdout
read = lambda : map(int,stdin.readline().split())
I = lambda: stdin.readline()
def find_next(l):
	global possible
	while True:
		l+=1#[0:l](incl) will be given gold
		if l>n1:
			possible = False
			return -1
		if arr[l-1]!=arr[l]:
			return l

for _ in range(int(I())):
	n = int(I())
	arr = tuple(read())
	n1 = n//2-1
	flag1 = True
	while n1>=0 and arr[n1+1]==arr[n1]:
		n1 -= 1
	possible = True
	# 

	l = 0
	
	x1 = find_next(0)
	x2 = find_next(x1)
	if x2-x1<2:
		x2 = find_next(x2)
	g,s,b = x1,x2-x1,n1-x2+1
	if possible and g<s and g<b:
		print(g,s,b)
	else:
		print('0 0 0')

