```go
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
reader := bufio.NewReader(os.Stdin)
writer := bufio.NewWriter(os.Stdout)
defer writer.Flush()
var t int
fmt.Fscan(reader, &t)
for tc := 0; tc < t; tc++ {
var n, m int
fmt.Fscan(reader, &n, &m)
fmt.Fprintln(writer, "SCAN 1 1")
writer.Flush()
var s1 int
fmt.Fscan(reader, &s1)
fmt.Fprintf(writer, "SCAN 1 %d\n", m)
writer.Flush()
var s2 int
fmt.Fscan(reader, &s2)
R := (s1 + s2 - 2*m + 6) / 2
C := (s1 - s2 + 2*m + 2) / 2
midR := (R + 1) / 2
fmt.Fprintf(writer, "SCAN %d 1\n", midR)
writer.Flush()
var s3 int
fmt.Fscan(reader, &s3)
rowContrib := s3 - C + 2
ra := (R - rowContrib) / 2
rb := (R + rowContrib) / 2
midC := (C + 1) / 2
fmt.Fprintf(writer, "SCAN 1 %d\n", midC)
writer.Flush()
var s4 int
fmt.Fscan(reader, &s4)
colContrib := s4 - R + 2
ca := (C - colContrib) / 2
cb := (C + colContrib) / 2
fmt.Fprintf(writer, "DIG %d %d\n", ra, ca)
writer.Flush()
var res1 int
fmt.Fscan(reader, &res1)
if res1 == 1 {
fmt.Fprintf(writer, "DIG %d %d\n", rb, cb)
writer.Flush()
var res2 int
fmt.Fscan(reader, &res2)
} else {
fmt.Fprintf(writer, "DIG %d %d\n", ra, cb)
writer.Flush()
var res2 int
fmt.Fscan(reader, &res2)
fmt.Fprintf(writer, "DIG %d %d\n", rb, ca)
writer.Flush()
var res3 int
fmt.Fscan(reader, &res3)
}
}
}
```