package main
import (
"bufio"
"fmt"
"os"
)
func main() {
in := bufio.NewReader(os.Stdin)
out := bufio.NewWriter(os.Stdout)
defer out.Flush()
var t int
fmt.Fscan(in, &t)
for tc := 0; tc < t; tc++ {
var n, m int
fmt.Fscan(in, &n, &m)
grid := make([][]int, n)
mainDiag := make([]int, n+m+1)
antiDiag := make([]int, n+m+1)
for i := 0; i < n; i++ {
grid[i] = make([]int, m)
for j := 0; j < m; j++ {
fmt.Fscan(in, &grid[i][j])
val := grid[i][j]
mainDiag[i-j+m] += val
antiDiag[i+j] += val
}
}
maxSum := -1
for i := 0; i < n; i++ {
for j := 0; j < m; j++ {
sum := mainDiag[i-j+m] + antiDiag[i+j] - grid[i][j]
if sum > maxSum {
maxSum = sum
}
}
}
fmt.Fprintln(out, maxSum)
}
}