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

sumup _ [] = []
sumup s (x:xs) =
  let s' = (s+x)
  in
    s':(sumup s' xs)

scan :: (Int,Int) -> [Int] -> (Int,Int)
scan (m,a) [] = (m,a)
scan (m,a) (x:xs) =
  let m' = min m x
      a' = max a (x-m)
  in
    scan (m',a') xs

ans (0:_) = []
ans (n:x) =
  let a = take n x
      s = 0:(sumup 0 a)
      s0= s!!0
      (_,d) = scan (0,0) s
      r = drop n x
  in
    d:(ans r)

main = do
  c <- getContents
  let i = map read $ lines c :: [Int]
      o = ans i
  mapM_ print o