#include <iostream>
#include <vector>
#include <limits.h>
using namespace std;
int main()
{
	int n, k, p = 0;
	bool isPlus = true;
	while (cin >> n){
		if (0 == n) break;
		vector<int> A(n, 0);
		int m = INT_MIN;
		for (int i = 0; i < n; ++i){
			cin >> k;
			if (0 == i){
				A[p] = k;
				isPlus = (k > 0);
			} else {
				if (isPlus == (k > 0)){
					A[p] += k;
				} else{
					while (0 != p){
						if (m < A[p - 1]) m = A[p - 1];
						if (m < A[p]) m = A[p];
						if (A[p - 1] + A[p] >= 0){
							A[p - 1] += A[p];
							--p;
							isPlus = true;
						}else break;
					}
					if (isPlus == (k > 0)){
						A[p] += k;
					}else{
						if (m < A[p]) m = A[p];
						++p;
						A[p] = k;
						isPlus = !isPlus;
					}
				}
			}
		}
		if (m < A[p]) m = A[p];
		cout << m << "\n";
		for (int i = 0; i <= p; ++i) A[p] = 0;
	}
	return 0;
}