SUMITR - Sums in a Triangle


Let us consider a triangle of numbers in which a number appears in the first line, two numbers appear in the second line etc. Develop a program which will compute the largest of the sums of numbers that appear on the paths starting from the top towards the base, so that:

  • on each path the next number is located on the row below, more precisely either directly below or below and one place to the right;
  • the number of rows is strictly positive, but less than 100;
  • all numbers are positive integers between 0 and 99.

Take care about your fingers, do not use more than 256 bytes of code.

Input

In the first line integer n - the number of test cases (equal to about 1000). Then n test cases follow. Each test case starts with the number of lines which is followed by their content.

Output

For each test case write the determined value in a separate line.

Example

Input:
2
3
1
2 1
1 2 3
4 
1 
1 2 
4 1 2
2 3 1 1 

Output:
5
9
Warning: large Input/Output data, be careful with certain languages

hide comments
Piotr KÄ…kol: 2011-01-21 17:01:30

@spoofer - There are different tests.

BTW, in TRI_SUMS the record is now 89 chars in Perl (in Ruby it's now 90).

Edit: Jander has beaten the record to 88 chars.

Last edit: 2011-05-12 15:53:33
Piotr KÄ…kol: 2010-07-24 17:31:15

The same task without limit:
TRI_SUMS.
But the shorter is Your code, the more points You get.
For now the record is 92 characters in Ruby.

Last edit: 2010-07-24 17:31:58
numerix: 2009-06-04 13:21:24

If you submit a solution using copy&paste each EOL seems to be counted as 2 bytes. If you submit it as file that problem doesn't occur.


Added by:kuszi
Date:2004-12-01
Time limit:2s
Source limit:256B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: NODEJS PERL6 VB.NET
Resource:6-th International Olympiad In Informatics July 3-10. 1994. Stockholm - Sweden, Problem 1