← Home
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
}
```