For problem statement at 1000-1999/1800-1899/1840-1849/1848/problemF.txt this is a correct solution, but verifier at 1000-1999/1800-1899/1840-1849/1848/verifierF.go ends with All tests passed can you fix the verifier? package main
import (
"io"
"os"
"strconv"
)
func nextInt(data []byte, idx *int) int {
n := len(data)
for *idx < n && (data[*idx] < '0' || data[*idx] > '9') {
*idx = *idx + 1
}
v := 0
for *idx < n && data[*idx] >= '0' && data[*idx] <= '9' {
v = v*10 + int(data[*idx]-'0')
*idx = *idx + 1
}
return v
}
func main() {
data, _ := io.ReadAll(os.Stdin)
idx := 0
n := nextInt(data, &idx)
a := make([]int, n)
for i := 0; i < n; i++ {
a[i] = nextInt(data, &idx)
}
ans := 0
arr := a
for len(arr) > 1 {
m := len(arr) / 2
eq := true
for i := 0; i < m; i++ {
if arr[i] != arr[i+m] {
eq = false
break
}
}
if !eq {
for i := 0; i < m; i++ {
arr[i] ^= arr[i+m]
}
ans += m
}
arr = arr[:m]
}
if arr[0] != 0 {
ans++
}
os.Stdout.Write([]byte(strconv.Itoa(ans)))
}