//import static java.lang.Integer.parseInt;
import java.util.*;
import java.io.*;
class BYTESM2
{
public static void main
(String args
[]) {
int arr[][]=new int[111][111];
//PrintWriter pw=new PrintWriter(System.out);
int t
=Integer.
parseInt(br.
readLine().
trim()); int r,c;
while(t--!=0)
{
//refresing the array
for(int[] row: arr)
//
String in
[]=br.
readLine().
trim().
split(" "); //arr=new int[r][c+2];
for(int i=0;i<r;i++)
{
String str
=br.
readLine().
trim(); int pointer=1;
{
//System.out.println("hamba "+s);
arr
[i
][pointer
++]=Integer.
parseInt(s
); }
//System.out.println("pointer "+pointer);
arr[i][0] = arr[i][pointer] = -1;
}
//calculation part
int big=0;
// if just one row is present
/*if(r==1)
{
for(int j=0;j<c;j++)
{
if(arr[0][j]>big)
big=arr[0][j];
}
System.out.println(big);
continue;
}
else if(c==1)// if just one column is present
{
for(int i=0;i<r;i++)
big+=arr[i][0];
System.out.println(big);
continue;
}
else if(r==1 && c==1)
{
System.out.println(arr[0][0]);
continue;
}*/
for(int i=1;i<r;i++)
{
for(int j=1;j<=c;j++)
{
/*if(j==0)
arr[i][j]+=Math.max(arr[i+1][j],arr[i+1][j+1]);
else if(j==c-1)
arr[i][j]+=Math.max(arr[i+1][j],arr[i+1][j-1]);*/
//else
//{
int max1
=Math.
max(arr
[i
-1][j
-1], arr
[i
-1][j
]); int max
=Math.
max(max1,arr
[i
-1][j
+1]); arr[i][j]+=max;
//}
//if(arr[i][j]>big)
//big=arr[i][j];
}
}
for(int j = 1; j <= c; j++)
big
= Math.
max(big, arr
[r
-1][j
]); // print big
}
}
}
Ci8vaW1wb3J0IHN0YXRpYyBqYXZhLmxhbmcuSW50ZWdlci5wYXJzZUludDsKCQkJaW1wb3J0IGphdmEudXRpbC4qOwoJCQlpbXBvcnQgamF2YS5pby4qOwoJCQljbGFzcyBCWVRFU00yCgkJCXsKCQkJCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZyBhcmdzW10pCgkJCQl0aHJvd3MgSU9FeGNlcHRpb24KCQkJCXsKCQkJCQlpbnQgYXJyW11bXT1uZXcgaW50WzExMV1bMTExXTsKCQkJCQlCdWZmZXJlZFJlYWRlciBicj1uZXcgQnVmZmVyZWRSZWFkZXIobmV3IElucHV0U3RyZWFtUmVhZGVyKFN5c3RlbS5pbikpOwoJCQkJCS8vUHJpbnRXcml0ZXIgcHc9bmV3IFByaW50V3JpdGVyKFN5c3RlbS5vdXQpOwoJCQkJCWludCB0PUludGVnZXIucGFyc2VJbnQoYnIucmVhZExpbmUoKS50cmltKCkpOwoJCQkJCWludCByLGM7CgkJCQkJd2hpbGUodC0tIT0wKQoJCQkJCXsKCQkJCQkJLy9yZWZyZXNpbmcgdGhlIGFycmF5CgkJCQkJCWZvcihpbnRbXSByb3c6IGFycikKCQkJCQkJCUFycmF5cy5maWxsKHJvdywwKTsKCQkJCQkJLy8KCQkJCQkJCgkJCQkJCVN0cmluZyBpbltdPWJyLnJlYWRMaW5lKCkudHJpbSgpLnNwbGl0KCIgIik7CgkJCQkJCXI9SW50ZWdlci5wYXJzZUludChpblswXSk7CgkJCQkJCWM9SW50ZWdlci5wYXJzZUludChpblsxXSk7CgkJCQkJCS8vYXJyPW5ldyBpbnRbcl1bYysyXTsKCQkJCQkJCgkJCQkJCWZvcihpbnQgaT0wO2k8cjtpKyspCgkJCQkJCXsKCQkJCQkJCVN0cmluZyBzdHI9YnIucmVhZExpbmUoKS50cmltKCk7CgkJCQkJCQlpbnQgcG9pbnRlcj0xOwoJCQkJCQkJZm9yKFN0cmluZyBzOiBzdHIuc3BsaXQoIiAiKSkKCQkJCQkJCXsKCQkJCQkJCQkvL1N5c3RlbS5vdXQucHJpbnRsbigiaGFtYmEgIitzKTsKCQkJCQkJCQlhcnJbaV1bcG9pbnRlcisrXT1JbnRlZ2VyLnBhcnNlSW50KHMpOwoJCQkJCQkJfQoJCQkJCQkJLy9TeXN0ZW0ub3V0LnByaW50bG4oInBvaW50ZXIgIitwb2ludGVyKTsKCQkJCQkJCWFycltpXVswXSA9IGFycltpXVtwb2ludGVyXSA9IC0xOwoJCQkJCQl9CgkJCQkJCS8vY2FsY3VsYXRpb24gcGFydAoJCQkJCQlpbnQgYmlnPTA7CgkJCQkJCS8vIGlmIGp1c3Qgb25lIHJvdyBpcyBwcmVzZW50CgkJCQkJCS8qaWYocj09MSkKCQkJCQkJewoJCQkJCQkJZm9yKGludCBqPTA7ajxjO2orKykKCQkJCQkJCXsKCQkJCQkJCQlpZihhcnJbMF1bal0+YmlnKQoJCQkJCQkJCQliaWc9YXJyWzBdW2pdOwoJCQkJCQkJfQoJCQkJCQkJU3lzdGVtLm91dC5wcmludGxuKGJpZyk7CgkJCQkJCQljb250aW51ZTsKCQkJCQkJfQoJCQkJCQllbHNlIGlmKGM9PTEpLy8gaWYganVzdCBvbmUgY29sdW1uIGlzIHByZXNlbnQKCQkJCQkJewoJCQkJCQkJZm9yKGludCBpPTA7aTxyO2krKykKCQkJCQkJCQliaWcrPWFycltpXVswXTsKCQkJCQkJCVN5c3RlbS5vdXQucHJpbnRsbihiaWcpOwoJCQkJCQkJY29udGludWU7CgkJCQkJCX0KCQkJCQkJZWxzZSBpZihyPT0xICYmIGM9PTEpCgkJCQkJCXsKCQkJCQkJCVN5c3RlbS5vdXQucHJpbnRsbihhcnJbMF1bMF0pOwoJCQkJCQkJY29udGludWU7CgkJCQkJCQkKCQkJCQkJfSovCgkJCQkJCgkJCQkJCQoJCQkJCQkJCgkJCQkJCQlmb3IoaW50IGk9MTtpPHI7aSsrKQoJCQkJCQkJewoJCQkJCQkJCWZvcihpbnQgaj0xO2o8PWM7aisrKQoJCQkJCQkJCXsKCQkJCQkJCQkJLyppZihqPT0wKQoJCQkJCQkJCQkJYXJyW2ldW2pdKz1NYXRoLm1heChhcnJbaSsxXVtqXSxhcnJbaSsxXVtqKzFdKTsKCQkJCQkJCQkJZWxzZSBpZihqPT1jLTEpCgkJCQkJCQkJCQlhcnJbaV1bal0rPU1hdGgubWF4KGFycltpKzFdW2pdLGFycltpKzFdW2otMV0pOyovCgkJCQkJCQkJCS8vZWxzZQoJCQkJCQkJCQkvL3sKCQkJCQkJCQkJCWludCBtYXgxPU1hdGgubWF4KGFycltpLTFdW2otMV0sIGFycltpLTFdW2pdKTsKCQkJCQkJCQkJCWludCBtYXg9TWF0aC5tYXgobWF4MSxhcnJbaS0xXVtqKzFdKTsKCQkJCQkJCQkJCWFycltpXVtqXSs9bWF4OwoJCQkJCQkJCQkvL30KCQkJCQkJCQkKCQkJCQkJCQkJLy9pZihhcnJbaV1bal0+YmlnKQoJCQkJCQkJCQkJLy9iaWc9YXJyW2ldW2pdOwoJCQkJCQkJCX0KCQkJCQkJCX0KCQkJCQkJCWZvcihpbnQgaiA9IDE7IGogPD0gYzsgaisrKQoJCQkJICAgICAgICAgICAgICAgIGJpZyA9IE1hdGgubWF4KGJpZywgYXJyW3ItMV1bal0pOwoJCQkJCQkJLy8gcHJpbnQgYmlnCgkJCQkJCQlTeXN0ZW0ub3V0LnByaW50bG4oYmlnKTsKCQkJCQkJCgkJCQkJCQoJCQkJCX0KCQkJCQkKCQkJCQkKCQkJCX0KCQkJfQ==