For problem statement at 2000-2999/2000-2099/2020-2029/2028/problemD.txt this is a correct solution, but verifier at 2000-2999/2000-2099/2020-2029/2028/verifierD.go ends with All tests passed. can you fix the verifier? ```go
package main
import (
"bufio"
"io"
"os"
"strconv"
)
type FastScanner struct {
data []byte
idx int
n int
}
func NewFastScanner() *FastScanner {
data, _ := io.ReadAll(os.Stdin)
return &FastScanner{data: data, n: len(data)}
}
func (fs *FastScanner) NextInt() int {
for fs.idx < fs.n {
b := fs.data[fs.idx]
if (b >= '0' && b <= '9') || b == '-' {
break
}
fs.idx++
}
sign := 1
if fs.data[fs.idx] == '-' {
sign = -1
fs.idx++
}
val := 0
for fs.idx < fs.n {
b := fs.data[fs.idx]
if b < '0' || b > '9' {
break
}
val = val*10 + int(b-'0')
fs.idx++
}
return sign * val
}
func main() {
fs := NewFastScanner()
out := bufio.NewWriterSize(os.Stdout, 1<<20)
defer out.Flush()
t := fs.NextInt()
for ; t > 0; t-- {
n := fs.NextInt()
q := make([]int, n+1)
k := make([]int, n+1)
j := make([]int, n+1)
for i := 1; i <= n; i++ {
q[i] = fs.NextInt()
}
for i := 1; i <= n; i++ {
k[i] = fs.NextInt()
}
for i := 1; i <= n; i++ {
j[i] = fs.NextInt()
}
reach := make([]bool, n+1)
parent := make([]int, n+1)
who := make([]byte, n+1)
reach[1] = true
bestQ, idxQ := q[1], 1
bestK, idxK := k[1], 1
bestJ, idxJ := j[1], 1
for i := 2; i <= n; i++ {
if bestQ > q[i] {
reach[i] = true
parent[i] = idxQ
who[i] = 'q'
} else if bestK > k[i] {
reach[i] = true
parent[i] = idxK
who[i] = 'k'
} else if bestJ > j[i] {
reach[i] = true
parent[i] = idxJ
who[i] = 'j'
}
if reach[i] {
if q[i] > bestQ {
bestQ = q[i]
idxQ = i
}
if k[i] > bestK {
bestK = k[i]
idxK = i
}
if j[i] > bestJ {
bestJ = j[i]
idxJ = i
}
}
}
if !reach[n] {
out.WriteString("NO\n")
continue
}
cards := make([]int, 0)
players := make([]byte, 0)
cur := n
for cur != 1 {
cards = append(cards, cur)
players = append(players, who[cur])
cur = parent[cur]
}
out.WriteString("YES\n")
out.WriteString(strconv.Itoa(len(cards)))
out.WriteByte('\n')
for i := len(cards) - 1; i >= 0; i-- {
out.WriteByte(players[i])
out.WriteByte(' ')
out.WriteString(strconv.Itoa(cards[i]))
out.WriteByte('\n')
}
}
}
```