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
  break if (n = line.to_i) == 0
  sum = 0
  sign_flag = nil
  temp = []
  n.times do |i|
    a = gets.to_i
    if sign_flag == nil
      next if a < 0
      sign_flag = true
    end

    if sign_flag == a >= 0
      sum += a
    else
      temp.push sum
      sum = 0
      sum += a
      sign_flag = !sign_flag
    end
  end
  temp.push sum

  if temp.length == 1
    puts temp.first
    next
  end
  sum = temp.first
  1.step(temp.length - 1, 2) do |i|
    if i == temp.length - 1
      sum += temp[i] > 0 ? temp[i] : 0
    else
      sum += (temp[i].abs < temp[i + 1].abs) ? temp[i] + temp[i + 1] : 0
    end
  end
  puts sum
end