For problem statement at 0-999/700-799/790-799/797/problemE.txt this is a correct solution, but verifier at 0-999/700-799/790-799/797/verifierE.go ends with All tests passed can you fix the verifier? ```go
package main
import (
"io"
"os"
)
func main() {
buf, _ := io.ReadAll(os.Stdin)
var pos int
readInt := func() int {
for pos < len(buf) && (buf[pos] < '0' || buf[pos] > '9') {
pos++
}
if pos >= len(buf) {
return 0
}
res := 0
for pos < len(buf) && buf[pos] >= '0' && buf[pos] <= '9' {
res = res*10 + int(buf[pos]-'0')
pos++
}
return res
}
n := readInt()
if n == 0 {
return
}
a := make([]int, n+1)
for i := 1; i <= n; i++ {
a[i] = readInt()
}
B := 256
dp := make([][]int32, B)
for k := 1; k < B; k++ {
dp[k] = make([]int32, n+1)
for p := n; p >= 1; p-- {
nextP := p + a[p] + k
if nextP > n {
dp[k][p] = 1
} else {
dp[k][p] = 1 + dp[k][nextP]
}
}
}
q := readInt()
out := make([]byte, 0, 16*q)
var temp [20]byte
for i := 0; i < q; i++ {
p := readInt()
k := readInt()
var ans int
if k < B {
ans = int(dp[k][p])
} else {
for p <= n {
p = p + a[p] + k
ans++
}
}
tpos := 0
if ans == 0 {
out = append(out, '0', '\n')
} else {
for ans > 0 {
temp[tpos] = byte('0' + ans%10)
ans /= 10
tpos++
}
for j := tpos - 1; j >= 0; j-- {
out = append(out, temp[j])
}
out = append(out, '\n')
}
}
os.Stdout.Write(out)
}
```