#include <bits/stdc++.h>
using namespace std;
#define int              long long int
#define double           long double
inline int power(int a, int b) {
    int x = 1;
    while (b) {
        if (b & 1) x *= a;
        a *= a;
        b >>= 1;
    }
    return x;
}


const int M = 1000000007;
const int N = 3e5+9;
const int INF = 2e9+1;
const int LINF = 2000000000000000001;

//_ ***************************** START Below *******************************



//* Kadanes Algo : 

//* dp[R] = max sum subarray ending at R
//* dp[R] = max(dp[R-1] + a[R], a[R]);


//* Prefix Dp : 
//* P[R] = max(dp[R] , P[R-1] )



vector<int> a;
int  consistency(int n) {
    
    int prev = 0;
    
	//* Negative sum allowed here 
    int maxi = INT32_MIN; 
    vector<int> PrefixMax(n);
    
    for(int i = 0; i < n; i++){
        int curr = max(a[i], prev + a[i]);
        prev = curr;
        maxi = max(maxi, curr);
    	PrefixMax[i] = maxi;   
    }
    
    return maxi;
}


















int  practice(int n) {
    
    
    return 0;
}




void solve() {
    
	int n;
	cin >> n;
	a.resize(n);
	for(int i=0; i<n; i++) cin >> a[i];
	
	cout << consistency(n) << endl;
	// cout << consistency(n) << " -> " << practice(n) << endl;

}





int32_t main() {
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);

    int t = 1;
    cin >> t;
    while (t--) {
        solve();
    }

    return 0;
}