For problem statement at 1000-1999/1900-1999/1960-1969/1968/problemF.txt this is a correct solution, but verifier at 1000-1999/1900-1999/1960-1969/1968/verifierF.go ends with All 100 tests passed can you fix the verifier? ```go
package main
import (
"bufio"
"fmt"
"os"
"sort"
)
func findMinMax(list []int, left, right int) (minPos, maxPos int, has bool) {
idx := sort.SearchInts(list, left)
if idx >= len(list) || list[idx] > right {
return 0, 0, false
}
minPos = list[idx]
idx2 := sort.SearchInts(list, right+1)
if idx2 == 0 {
return 0, 0, false
}
maxPos = list[idx2-1]
return minPos, maxPos, true
}
func main() {
in := bufio.NewReader(os.Stdin)
var t int
fmt.Fscan(in, &t)
for i := 0; i < t; i++ {
var n, q int
fmt.Fscan(in, &n, &q)
a := make([]int, n+1)
for i := 1; i <= n; i++ {
fmt.Fscan(in, &a[i])
}
p := make([]int, n+1)
for i := 1; i <= n; i++ {
p[i] = p[i-1] ^ a[i]
}
pos := make(map[int][]int)
for i := 0; i <= n; i++ {
pos[p[i]] = append(pos[p[i]], i)
}
for qq := 0; qq < q; qq++ {
var l, r int
fmt.Fscan(in, &l, &r)
base := p[l-1]
targ := p[r]
s := targ ^ base
if s == 0 {
fmt.Println("YES")
continue
}
targList, ok2 := pos[targ]
if !ok2 || len(targList) == 0 {
fmt.Println("NO")
continue
}
baseList, ok1 := pos[base]
if !ok1 || len(baseList) == 0 {
fmt.Println("NO")
continue
}
minT, _, hasT := findMinMax(targList, l, r-1)
if !hasT {
fmt.Println("NO")
continue
}
_, maxB, hasB := findMinMax(baseList, l, r-1)
if !hasB {
fmt.Println("NO")
continue
}
if minT < maxB {
fmt.Println("YES")
} else {
fmt.Println("NO")
}
}
}
}
```