'''

py cf636c.py

'''

for test in range(int(input())):
	n = int(input())
	arr = list(map(int,input().split()))
	maxpos = 0
	maxneg = -float('inf')

	if(n==1):
		print(arr[0])
		continue

	posi = True if arr[0] > 0 else False

	finale = 0

	for i in range(n):
		if (arr[i] > 0):
			if posi:
				maxpos = max(maxpos,arr[i])
			else:
				finale += maxneg
				maxpos = 0
				maxpos = max(maxpos,arr[i])
			posi = True
		else:
			if not posi:
				maxneg = max(maxneg,arr[i])
			else:
				finale += maxpos
				maxneg = -float('inf')
				maxneg = max(maxneg,arr[i])

			posi = False

	if arr[-1] > 0:
		finale += maxpos
	else:
		finale += maxneg

	print(finale)

