For problem statement at 0-999/700-799/730-739/734/problemD.txt this is a correct solution, but verifier at 0-999/700-799/730-739/734/verifierD.go ends with All tests passed can you fix the verifier? ```go
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
in := bufio.NewReader(os.Stdin)
out := bufio.NewWriter(os.Stdout)
defer out.Flush()
var n int
fmt.Fscan(in, &n)
var x0, y0 int64
fmt.Fscan(in, &x0, &y0)
type piece struct {
dist int64
kind byte
}
// 0: U, 1: D, 2: R, 3: L
// 4: UR, 5: DR, 6: UL, 7: DL
closest := make([]piece, 8)
for i := range closest {
closest[i].dist = -1
}
var s string
var xi, yi int64
for i := 0; i < n; i++ {
fmt.Fscan(in, &s, &xi, &yi)
kind := s[0]
dx := xi - x0
dy := yi - y0
var dir int = -1
var d int64
if dx == 0 {
d = abs(dy)
if dy > 0 {
dir = 0
} else {
dir = 1
}
} else if dy == 0 {
d = abs(dx)
if dx > 0 {
dir = 2
} else {
dir = 3
}
} else if abs(dx) == abs(dy) {
d = abs(dx)
if dx > 0 {
if dy > 0 {
dir = 4
} else {
dir = 5
}
} else {
if dy > 0 {
dir = 6
} else {
dir = 7
}
}
}
if dir != -1 {
if closest[dir].dist == -1 || d < closest[dir].dist {
closest[dir] = piece{d, kind}
}
}
}
ans := "NO"
for i := 0; i < 4; i++ {
if closest[i].dist != -1 {
if closest[i].kind == 'R' || closest[i].kind == 'Q' {
ans = "YES"
}
}
}
for i := 4; i < 8; i++ {
if closest[i].dist != -1 {
if closest[i].kind == 'B' || closest[i].kind == 'Q' {
ans = "YES"
}
}
}
fmt.Fprintln(out, ans)
}
func abs(x int64) int64 {
if x < 0 {
return -x
}
return x
}
```