#include<iostream>
using namespace std;
int n,m,ans;
int a[9][9];
bool f[9][9];
void maxf(int x,int y,int an){
if(x==n&&y>m){
ans=max(ans,an);
return;
}
if(y>m) {
maxf(x+1,1,an);
return;
}
if(f[x][y]){
maxf(x,y+1,an);
return;
}
if(f[x][y]==0){
f[x][y]=1;
f[x-1][y-1]=f[x-1][y]=f[x-1][y+1]=f[x][y-1]=f[x][y+1]=f[x+1][y-1]=f[x+1][y]=f[x+1][y+1]=1;
maxf(x,y+2,an+a[x][y]);
f[x][y]=0;
f[x-1][y-1]=f[x-1][y]=f[x-1][y+1]=f[x][y-1]=f[x][y+1]=f[x+1][y-1]=f[x+1][y]=f[x+1][y+1]=0;
}
maxf(x,y+1,an);
}
int main()
{
int T;
cin>>T;
while(T--){
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>a[i][j];
}
}
ans=-1;
maxf(1,1,0);
cout<<ans<<endl;
}
return 0;
}