def problem1():
    a = int(input())
    k = 4
    while a % (k-1) != 0:
        k *= 2
    print(a//(k-1))

def problem2():
    a = int(input())
    if a % 4 == 2:
        print('NO')
        return
    print('YES')
    x = []
    for i in range(1,a // 2 + 1):
        x.append(2*i)
    for i in range(a // 4):
        x.append(x[i] - 1)
    for i in range(a // 4, a // 2):
        x.append(x[i] + 1)
    print(*x)

def problem3():
    l = int(input())
    a = list(map(int,input().split()))
    k = -1*min(a)
    i = 0
    s = 0
    while i < l:
        mp = 0
        mn = k + 1
        while i < l and a[i] > 0:
            mp = max(a[i],mp)
            i += 1
        while i < l and a[i] < 0:
            mn = min(abs(a[i]),mn)
            i += 1
        s += mp
        if mn != k + 1:
            s -= mn
    print(s)

def problem4():
    l,k = list(map(int,input().split()))
    a = list(map(int,input().split()))
    s = []
    t = []
    u = []
    for i in range(l // 2):
        s.append(a[i] + a[l - i - 1])
        t.append(min(1+a[i],1+a[l-i-1]))
        u.append(max(k+a[i],k+a[l-i-1]))
    v = list(set([(s.count(i),i) for i in s]))
    
cases = int(input())
for _ in range(cases):
    # problem1()
    # problem2()
    problem3()
    # problem4()