#include <iostream>
#include <stdio.h>
#include <string.h>
#define maxn 1000 + 10
using namespace std;
int dp[maxn][maxn];
int a[maxn][maxn];
int main()
{ int n,t;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
for( int i = 0; i < n; i++)
for( int j= 0; j <= i; j++ )
scanf("%d",&a[i][j]);
memset(dp,0,sizeof(dp));
for( int i = 0; i < n; i++)
dp[n-1][i] = a[n-1][i];
for( int j = n-2; j >=0 ; j--)
for( int i = 0; i <= j; i++)
dp[j][i] = max(a[j][i]+dp[j+1][i],a[j][i]+dp[j+1][i+1]);
cout<<dp[0][0]<<endl;
}
}
#include <stdio.h>
#include <string.h>
#define maxn 1000 + 10
using namespace std;
int dp[maxn][maxn];
int a[maxn][maxn];
int main()
{ int n,t;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
for( int i = 0; i < n; i++)
for( int j= 0; j <= i; j++ )
scanf("%d",&a[i][j]);
memset(dp,0,sizeof(dp));
for( int i = 0; i < n; i++)
dp[n-1][i] = a[n-1][i];
for( int j = n-2; j >=0 ; j--)
for( int i = 0; i <= j; i++)
dp[j][i] = max(a[j][i]+dp[j+1][i],a[j][i]+dp[j+1][i+1]);
cout<<dp[0][0]<<endl;
}
}