package main
import (
"bufio"
"fmt"
"os"
)
func main() {
reader := bufio.NewReader(os.Stdin)
var t int
fmt.Fscan(reader, &t)
for i := 0; i < t; i++ {
var n, m int
fmt.Fscan(reader, &n, &m)
matrix := make([]string, n)
totalOnes := 0
for j := 0; j < n; j++ {
fmt.Fscan(reader, &matrix[j])
for k := 0; k < m; k++ {
if matrix[j][k] == '1' {
totalOnes++
}
}
}
if totalOnes == 0 {
fmt.Println(0)
continue
}
minOnes := 4
for j := 0; j < n-1; j++ {
for k := 0; k < m-1; k++ {
ones := 0
if matrix[j][k] == '1' {
ones++
}
if matrix[j+1][k] == '1' {
ones++
}
if matrix[j][k+1] == '1' {
ones++
}
if matrix[j+1][k+1] == '1' {
ones++
}
if ones < minOnes {
minOnes = ones
}
}
}
if minOnes <= 2 {
fmt.Println(totalOnes)
} else if minOnes == 3 {
fmt.Println(totalOnes - 1)
} else {
fmt.Println(totalOnes - 2)
}
}
}