For problem statement at 1000-1999/1800-1899/1860-1869/1867/problemE1.txt this is a correct solution, but verifier at 1000-1999/1800-1899/1860-1869/1867/verifierE1.go ends with Problem E1 is interactive and cannot be automatically verified. can you fix the verifier? ```go
package main
import (
"fmt"
)
func main() {
var t int
if _, err := fmt.Scan(&t); err != nil {
return
}
for i := 0; i < t; i++ {
var n, k int
fmt.Scan(&n, &k)
r := n % k
ans := 0
S := 1
for S <= n-k-r {
ans ^= query(S)
S += k
}
if r == 0 {
ans ^= query(S)
} else {
ans ^= query(S)
ans ^= query(S + r/2)
ans ^= query(S + r)
}
fmt.Printf("! %d\n", ans)
}
}
func query(i int) int {
fmt.Printf("? %d\n", i)
var x int
fmt.Scan(&x)
if x == -1 {
panic("invalid query or limit exceeded")
}
return x
}
```