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: Accepted)


while n = gets.chomp.to_i
  if n == 0 then break end

  a = []
  n.times do |i|
    a << gets.to_i
  end

=begin

これでも可能
  a = []
  n.times do
    a.push(gets.chomp.to_i)
  end
  
array << obj
<<演算子（メソッド）は、左辺の配列（レシーバ）の末尾に右辺のオブジェクトを要素として加えます。

animals = ["dog", "cat", "mouse"]
animals << "pig"
p animals
["dog", "cat", "mouse", "pig"]

array.push(obj, ...)
pushメソッドは、配列の末尾に引数を要素として追加します。

animals = ["dog", "cat", "mouse"]
animals.push("duck", "parrot")
p animals
["dog", "cat", "mouse", "pig", "duck", "parrot"]

=end

 
  max = -100_000
  n.times do |i|
    sum = 0
    a[i..-1].each do |j|
      sum += j
      max = sum if sum > max
    end
  end
 
  puts max
end