Problem:
Maximum Sum Sequence

Given a sequence of numbers a1, a2, a3, ..., an, find the maximum sum of a contiguous subsequence of those numbers. Note that, a subsequence of one element is also a contiquous subsequence.

Input

The input consists of multiple datasets. Each data set consists of:

n
a1
a2
.
.
an

You can assume that 1 ≤ n ≤ 5000 and -100000 ≤ ai ≤ 100000.

The input end with a line consisting of a single 0.

Output

For each dataset, print the maximum sum in a line.

Sample Input

7
-5
-1
6
4
9
-6
-7
13
1
2
3
2
-2
-1
1
2
3
2
1
-2
1
3
1000
-200
201
0

Output for the Sample Input

19
14
1001

Solution in Ruby (judge verdict: Wrong Answer)

while line = gets do
  n = line.to_i
  break if n == 0
  array = []
  temp = []
  count = 0
  n.times do |i|
    a = gets.to_i
    if temp.length == 0
      temp.push a
    elsif (temp[count - 1] >= 0) != (a >= 0)
      array.push temp
      temp = []
      temp.push a
      count = 0
    else
      temp.push a
    end
    count += 1
  end
  array.push temp
  max = 0
  if array.length == 1 || (array.length == 2 && array[0].inject{|sum, a| sum += a}.abs < array[1].inject{|sum, a| sum += a}.abs)
    max += array.first.first <= 0 ? array.first.first : array.first.inject{|sum, a| sum += a}
  else
    array.shift if array[0].first <= 0
    max = array.first.inject{|sum, a| sum += a}
    array.shift
    0.step(array.length - 1, 2) do |i|
      if i == array.length - 1
        if array[i].first > 0
          max += array[i].inject{|sum, a| sum += a}
        end
      else
        t1 = array[i].inject{|sum, a| sum += a}
        t2 = array[i + 1].inject{|sum, a| sum += a}
        max += t1 + t2 if t2.abs > t1.abs
      end
    end
  end
  puts max
end