#include<stdio.h>
#include<stdlib.h>
#include<limits.h>
int maxSubsequence(int a[],int len){
int max = a[0];
int cur = a[0];
int maxe = a[0];
for(int i = 1;i < len;i++){
if(a[i] > maxe)
maxe= a[i];
if(cur + a[i] > max){
max = cur + a[i];
cur += a[i];
}
else if(cur + a[i] <= 0)
cur = 0;
else
cur += a[i];
}
if(max > 0)
return max;
else
return maxe;
}
int main(){
int n;
scanf("%d",&n);
while(n--){
int r,c;
int a[100][100];
int max = INT_MIN;
scanf("%d%d",&r,&c);
for(int i = 0;i < r;i++){
for(int j = 0;j < c;j++){
scanf("%d",&a[i][j]);
if(i != 0){
a[i][j] += a[i - 1][j];
}
}
}
for(int ii = 0;ii < r;ii++){
for(int j = ii;j < r;j++){
int rel[100];
for(int k = 0;k < c;k++){
if(ii == 0){
rel[k] = a[j][k];
}
else{
rel[k] = a[j][k] - a[ii - 1][k];
}
}
int result = maxSubsequence(rel,c);
if(result > max)
max = result;
}
}
printf("%d\n",max);
}
return 0;
}
/*
int main(){
int n;
scanf("%d",&n);
while(n--){
int s;
scanf("%d",&s);
int *t = (int *)malloc(sizeof(int) * 1000000);
for(int i = 0;i < s;i++){
scanf("%d",&t[i]);
}
printf("%d\n",maxSubsequence(t,s));
}
return 0;
}
*/