#include<bits/stdc++.h>
using namespace std;
int n,m,sum,squ[10][10];
bool ma[10][10];
bool stop(){
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++) if(!ma[i][j]) return 0;
return 1;
}
int read(){
char c=getchar();
int a=0;
while(c<'0'||c>'9') c=getchar();
while(c>='0'&&c<='9') a=a*10+c-'0',c=getchar();
return a;
}
void dfs(int num){
if(stop()){
//cout<<num<<' ';
sum=max(sum,num);
return ;
}
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++){
if(!ma[i][j]){
ma[i][j]=1;
bool i1=0,i2=0,i3=0,i4=0,i5=0,i6=0,i7=0,i8=0;
if(!ma[i-1][j-1]) ma[i-1][j-1]=1,i1=1;
if(!ma[i][j-1]) ma[i][j-1]=1,i2=1;
if(!ma[i+1][j-1]) ma[i+1][j-1]=1,i3=1;
if(!ma[i+1][j]) ma[i+1][j]=1,i4=1;
if(!ma[i+1][j+1]) ma[i+1][j+1]=1,i5=1;
if(!ma[i][j+1]) ma[i][j+1]=1,i6=1;
if(!ma[i-1][j+1]) ma[i-1][j+1]=1,i7=1;
if(!ma[i-1][j]) ma[i-1][j]=1,i8=1;
dfs(num+squ[i][j]);
ma[i][j]=0;
if(i1) ma[i-1][j-1]=0;
if(i2) ma[i][j-1]=0;
if(i3) ma[i+1][j-1]=0;
if(i4) ma[i+1][j]=0;
if(i5) ma[i+1][j+1]=0;
if(i6) ma[i][j+1]=0;
if(i7) ma[i-1][j+1]=0;
if(i8) ma[i-1][j]=0;
}
}
}
int main(){
int t,i;
cin>>t;
i=t;
while(i){
i--;
cin>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++) squ[i][j]=read();
dfs(0);
cout<<sum<<endl;
sum=0;
if(i<t) memset(ma,0,sizeof(ma));
}
return 0;
}