import java.io.*;
import java.util.*;

// 4
/*
-2 8 3 8 -4 -15 5 -2 -3 1

take max of positives if multiple positives 
take min of negatives if multiple negatives
-2 8 -4 5 -2 1=6
-2 8 */

public class Main
{
    static void func(int arr[])
    {
        long sum=0;   
        int i=0;
        while(i<arr.length)
        {
            if(arr[i]>0)
            {
                int max=Integer.MIN_VALUE;
                while(i<arr.length && arr[i]>0)
                {
                    max=Math.max(max,arr[i]);
                    
                    i++;
                }
                sum+=max;
            }
            else
            {
                int max=Integer.MIN_VALUE;
                while(i<arr.length && arr[i]<0)
                {
                    max=Math.max(max,arr[i]);   
                    i++;
                }
                sum+=max;
            }
            
        }
        
        System.out.println(sum);
    }
    public static void main(String args[])
    {
        Scanner sc=new Scanner(System.in);
        int num=sc.nextInt();
        
        for(int i=0;i<num;i++)
        {
            int elements=sc.nextInt();
            int arr[]=new int[elements];
            for(int j=0;j<arr.length;j++)
                arr[j]=sc.nextInt();
            func(arr);
        }
        
    }
    
}