#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int t;
int n,m;
long long a[10][10],f[10][10];
long long max(const long long &x,const long long &y){
return x>y?x:y;
}
int main(){
scanf("%d",&t);
for (int ccf=1;ccf<=t;ccf++){
long long ans=0;
scanf("%d%d",&n,&m);
memset(a,0,sizeof(a));
memset(f,128,sizeof(f));
for (int i=1;i<=n;i++){
for (int j=1;j<=m;j++){
scanf("%lld",&a[i][j]);
}
}
f[1][1]=a[1][1];
for (int i=1;i<=n;i++){
for (int j=1;j<=m;j++){
if (i==1&&j==1) continue;
f[i][j]=max(max(f[i-2][j],max(f[i+2][j],max(f[i][j-2],max(f[i][j+2],max(f[i-2][j+1],max(f[i-2][j-1],max(f[i+2][j-1],max(f[i+2][j+1],max(f[i-1][j-2],max(f[i+1][j-2],max(f[i-1][j+2],max(f[i+1][j+2],max(f[i+2][j+2],max(f[i+2][j-2],max(f[i-2][j-2],f[i-2][j+2])))))))))))))))+a[i][j],max(f[i-1][j],max(f[i+1][j],max(f[i][j-1],max(f[i][j+1],max(f[i-1][j-1],max(f[i-1][j+1],max(f[i+1][j-1],f[i+1][j+1]))))))));
ans=max(ans,f[i][j]);
}
}
printf("%lld\n",ans);
}
return 0;
}