cases=int(input())
for _ in range(cases):
	n=int(input())
	c=list(map(int,input().split()))
	dp=[]
	pos=[]
	neg=[]
	flag=0
	if c[0]>0:
		flag=0
		pos.append(c[0])
	else:
		flag=1
		neg.append(c[0])
	
	
	for i in range(1,len(c)):
		if flag==0:
			if c[i]>0:
				pos.append(c[i])
			else:
				dp.append(pos)
				
				pos=[]
				neg.append(c[i])
				flag=1
		else:
			if c[i]<0:
				neg.append(c[i])
			else:
				dp.append(neg)
				neg=[]
				
				pos.append(c[i])
				flag=0
		
	dp.append(pos)
	dp.append(neg)
	tot=0
	cnt=0
	#print(dp)
	
	for i in range(len(dp)):
		
		if len(dp[i])>0:
			cnt+=1
			tot+=max(dp[i])
	if cnt==1:
		print(-1)
	else:
		print(tot)
		
	
			
			
			
