#include<iostream>
#include<cstring>
using namespace std;
const int N=11;
int t,n,m,a[N][N],ans,maxx,xx[10]={1,0,0,-1,1,-1,-1,1},yy[10]={0,1,-1,0,1,1,-1,-1};
bool vis[N][N];
void dfs(int i,int j,int sum)
{
if(j==m+1)
{
dfs(i+1,1,sum);
return ;
}
if(i==n+1)
{
ans=max(ans,sum);
return ;
}
dfs(i,j+1,sum);
if(vis[i][j]==0)
{
for(int k=0;k<8;k++)
{
vis[i+xx[k]][j+yy[k]]=true;
}
dfs(i,j+1,sum+a[i][j]);
for(int k=0;k<8;k++)
{
vis[i+xx[k]][j+yy[k]]=false;
}
sum-=a[i][j];
}
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin>>t;
for(int i=1;i<=t;i++)
{
memset(vis,0,sizeof(vis));
memset(a,0,sizeof(a));
cin>>n>>m;
for(int j=1;j<=n;j++)
{
for(int z=1;z<=m;z++)
{
cin>>a[j][z];
}
}
ans=0;
dfs(1,1,0);
cout<<ans<<'\n';
}
return 0;
}