For problem statement at 0-999/0-99/0-9/2/problemB.txt this is a correct solution, but verifier at 0-999/0-99/0-9/2/verifierB.go ends with All tests passed can you fix the verifier? ```go
package main
import (
"bufio"
"fmt"
"os"
)
const INF = 1000000000
func main() {
reader := bufio.NewReader(os.Stdin)
writer := bufio.NewWriter(os.Stdout)
defer writer.Flush()
var n int
fmt.Fscan(reader, &n)
a := make([][]int, n)
zeroExists := false
zr, zc := -1, -1
for i := 0; i < n; i++ {
a[i] = make([]int, n)
for j := 0; j < n; j++ {
fmt.Fscan(reader, &a[i][j])
if a[i][j] == 0 {
zeroExists = true
zr, zc = i, j
}
}
}
solve := func(factor int) ([][]int, [][]byte) {
dp := make([][]int, n)
path := make([][]byte, n)
for i := 0; i < n; i++ {
dp[i] = make([]int, n)
path[i] = make([]byte, n)
for j := 0; j < n; j++ {
cost := 0
if a[i][j] == 0 {
cost = INF
} else {
val := a[i][j]
for val > 0 && val%factor == 0 {
cost++
val /= factor
}
}
if i == 0 && j == 0 {
dp[i][j] = cost
continue
}
up := INF
left := INF
if i > 0 {
up = dp[i-1][j]
}
if j > 0 {
left = dp[i][j-1]
}
if up < left {
dp[i][j] = up + cost
path[i][j] = 'D'
} else {
dp[i][j] = left + cost
path[i][j] = 'R'
}
}
}
return dp, path
}
dp2, path2 := solve(2)
dp5, path5 := solve(5)
ans2 := dp2[n-1][n-1]
ans5 := dp5[n-1][n-1]
if zeroExists && ans2 > 1 && ans5 > 1 {
fmt.Fprintln(writer, 1)
for i := 0; i < zr; i++ {
writer.WriteByte('D')
}
for i := 0; i < zc; i++ {
writer.WriteByte('R')
}
for i := zr; i < n-1; i++ {
writer.WriteByte('D')
}
for i := zc; i < n-1; i++ {
writer.WriteByte('R')
}
writer.WriteByte('\n')
return
}
var bestPath [][]byte
if ans2 < ans5 {
fmt.Fprintln(writer, ans2)
bestPath = path2
} else {
fmt.Fprintln(writer, ans5)
bestPath = path5
}
res := make([]byte, 0, 2*n)
r, c := n-1, n-1
for r > 0 || c > 0 {
d := bestPath[r][c]
res = append(res, d)
if d == 'D' {
r--
} else {
c--
}
}
for i := len(res) - 1; i >= 0; i-- {
writer.WriteByte(res[i])
}
writer.WriteByte('\n')
}
```