← Home
For problem statement at 1000-1999/1600-1699/1660-1669/1666/problemI.txt this is a correct solution, but verifier at 1000-1999/1600-1699/1660-1669/1666/verifierI.go ends with Problem I is interactive and cannot be automatically verified. can you fix the verifier? ```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)
		}
	}
}
```