#include <bits/stdc++.h>
using namespace std;
int t;
int n,m;
int mapp[10][10];
bool vis[10][10];
int dx[] = {0,-1,-1,-1, 0, 0, 1, 1, 1};
int dy[] = {0,-1, 0, 1,-1, 1,-1, 0, 1};
int anss,ans;
void dfs(int x,int y)
{
if (y > m)
{
dfs(x+1,1);
return ;
}
if (x > n)
{
anss = max(anss,ans);
return ;
}
dfs(x,y+1);
if (!vis[x][y])
{
for (int i = 1; i <= 8; i ++)
{
vis[x+dx[i]][y+dy[i]] = true;
}
ans += mapp[x][y];
dfs(x,y+1);
for (int i = 1; i <= 8; i ++)
{
vis[x+dx[i]][y+dy[i]] = false;
}
ans -= mapp[x][y];
}
}
int main()
{
cin>>t;
for (int i = 1; i <= t; i ++)
{
anss = 0;
memset(mapp,0,sizeof(mapp));
memset(vis,false,sizeof(vis));
cin>>n>>m;
for (int j = 1; j <= n; j ++)
{
for (int k = 1; k <= m; k ++)
{
cin>>mapp[j][k];
}
}
dfs(1,1);
cout<<anss<<endl;
}
}