#include <bits/stdc++.h>
using namespace std;
#define int long long
#define dd double
#define ld long double
#define ull unsigned long long
#define yes cout << "YES\n"
#define no cout << "NO\n"
#define el "\n"
#define Arwa ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define fix(x) cout << fixed << setprecision(x)
#define all(v) v.begin(),v.end()
#define dpp(v,val) memset(v,val,sizeof(v))
#define mod 1e9+7
const int N = 1e5 + 5;
int n,m,mx=0;
vector<vector<int>>v;
int dp[101][101];
int solve(int i,int j)
{
if(i==n) return 0;
if(dp[i][j]!=-1) return dp[i][j];
int path1=0,path2=0,path3=0;
if(j-1>=0) path1=solve(i+1,j-1);
path2=solve(i+1,j);
if(j+1<m) path3=solve(i+1,j+1);
dp[i][j]= v[i][j]+max({path1,path2,path3});
return dp[i][j];
}
void HereWeGoAgain()
{
cin>>n>>m;
v.resize(n);
for(int i=0;i<n;i++)
v[i].resize(m);
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
cin>>v[i][j];
dpp(dp,-1);
for(int j=0;j<m;j++)
mx=max(mx,solve(0,j));
cout<<mx<<el;
}
int32_t main()
{
Arwa
int t=1;
cin>>t;
for(int i=1;i<=t;i++)
{
HereWeGoAgain();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgaW50IGxvbmcgbG9uZwojZGVmaW5lIGRkIGRvdWJsZQojZGVmaW5lIGxkIGxvbmcgZG91YmxlCiNkZWZpbmUgdWxsIHVuc2lnbmVkIGxvbmcgbG9uZwojZGVmaW5lIHllcyBjb3V0IDw8ICJZRVNcbiIKI2RlZmluZSBubyBjb3V0IDw8ICJOT1xuIgojZGVmaW5lIGVsICJcbiIKI2RlZmluZSBBcndhIGlvczo6c3luY193aXRoX3N0ZGlvKDApOyBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKI2RlZmluZSBmaXgoeCkgY291dCA8PCBmaXhlZCA8PCBzZXRwcmVjaXNpb24oeCkKI2RlZmluZSBhbGwodikgdi5iZWdpbigpLHYuZW5kKCkKI2RlZmluZSBkcHAodix2YWwpIG1lbXNldCh2LHZhbCxzaXplb2YodikpCiNkZWZpbmUgbW9kIDFlOSs3CmNvbnN0IGludCBOID0gMWU1ICsgNTsKaW50IG4sbSxteD0wOwp2ZWN0b3I8dmVjdG9yPGludD4+djsKaW50IGRwWzEwMV1bMTAxXTsKaW50IHNvbHZlKGludCBpLGludCBqKQp7CiAgICBpZihpPT1uKSAgcmV0dXJuIDA7CiAgICBpZihkcFtpXVtqXSE9LTEpIHJldHVybiBkcFtpXVtqXTsKICAgIGludCBwYXRoMT0wLHBhdGgyPTAscGF0aDM9MDsKICAgIGlmKGotMT49MCkgcGF0aDE9c29sdmUoaSsxLGotMSk7CiAgICAgICAgICAgICAgIHBhdGgyPXNvbHZlKGkrMSxqKTsKICAgIGlmKGorMTxtKSAgcGF0aDM9c29sdmUoaSsxLGorMSk7CiAgICBkcFtpXVtqXT0gdltpXVtqXSttYXgoe3BhdGgxLHBhdGgyLHBhdGgzfSk7CiAgCiAgICByZXR1cm4gZHBbaV1bal07Cn0Kdm9pZCBIZXJlV2VHb0FnYWluKCkKewogICAgY2luPj5uPj5tOwogICAgdi5yZXNpemUobik7CiAgICBmb3IoaW50IGk9MDtpPG47aSsrKQogICAgdltpXS5yZXNpemUobSk7CiAgICBmb3IoaW50IGk9MDtpPG47aSsrKSAKICAgIGZvcihpbnQgaj0wO2o8bTtqKyspCiAgICBjaW4+PnZbaV1bal07CiAgICBkcHAoZHAsLTEpOwogICAgZm9yKGludCBqPTA7ajxtO2orKykKICAgIG14PW1heChteCxzb2x2ZSgwLGopKTsKICAgIGNvdXQ8PG14PDxlbDsKfQppbnQzMl90IG1haW4oKSAKewogICAgQXJ3YQogICAgaW50IHQ9MTsKICAgIGNpbj4+dDsKICAgIGZvcihpbnQgaT0xO2k8PXQ7aSsrKQogICAgewogICAgSGVyZVdlR29BZ2FpbigpOwogICAgfQogICAgcmV0dXJuIDA7Cn0g