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 Scala (judge verdict: Wrong Answer)

import scala.io.StdIn.{readLine,readInt}

object Main {
  def loop(i:Int,s:Int,m:Int):Int =
    if(i==0) m
    else {
      val n = readInt
      val max = if(s+n > m) s+n else if(n>m) n else m
      val sum = if(s < 0 && n > s) n else s+n
      println("max=",max)
      println("min=",sum)
      loop(i-1,sum,max)
    }

  def main(args:Array[String]) = {
    var n = 0
    while( {n = readInt;n} != 0 ) println(loop(n,0,-100000))
  }
}