For problem statement at 1000-1999/1900-1999/1960-1969/1966/problemB.txt this is a correct solution, but verifier at 1000-1999/1900-1999/1960-1969/1966/verifierB.go ends with All tests passed can you fix the verifier? ```go
package main
import (
"bufio"
"fmt"
"os"
)
type FastReader struct {
r *bufio.Reader
}
func NewFastReader() *FastReader {
return &FastReader{r: bufio.NewReader(os.Stdin)}
}
func (fr *FastReader) NextInt() int {
sign := 1
val := 0
c, err := fr.r.ReadByte()
for err == nil && c <= ' ' {
c, err = fr.r.ReadByte()
}
if err != nil {
return 0
}
if c == '-' {
sign = -1
c, err = fr.r.ReadByte()
}
for err == nil && c > ' ' {
val = val*10 + int(c-'0')
c, err = fr.r.ReadByte()
}
return sign * val
}
func (fr *FastReader) Next() string {
c, err := fr.r.ReadByte()
for err == nil && c <= ' ' {
c, err = fr.r.ReadByte()
}
if err != nil {
return ""
}
buf := make([]byte, 0, 16)
for err == nil && c > ' ' {
buf = append(buf, c)
c, err = fr.r.ReadByte()
}
return string(buf)
}
func main() {
in := NewFastReader()
out := bufio.NewWriter(os.Stdout)
defer out.Flush()
t := in.NextInt()
for ; t > 0; t-- {
n := in.NextInt()
m := in.NextInt()
seenW, seenB := false, false
minRowW, maxRowW := n+1, 0
minColW, maxColW := m+1, 0
minRowB, maxRowB := n+1, 0
minColB, maxColB := m+1, 0
for i := 1; i <= n; i++ {
row := in.Next()
for j := 1; j <= m; j++ {
ch := row[j-1]
if ch == 'W' {
seenW = true
if i < minRowW {
minRowW = i
}
if i > maxRowW {
maxRowW = i
}
if j < minColW {
minColW = j
}
if j > maxColW {
maxColW = j
}
} else {
seenB = true
if i < minRowB {
minRowB = i
}
if i > maxRowB {
maxRowB = i
}
if j < minColB {
minColB = j
}
if j > maxColB {
maxColB = j
}
}
}
}
ok := false
if seenW && minRowW == 1 && maxRowW == n && minColW == 1 && maxColW == m {
ok = true
}
if seenB && minRowB == 1 && maxRowB == n && minColB == 1 && maxColB == m {
ok = true
}
if ok {
fmt.Fprintln(out, "YES")
} else {
fmt.Fprintln(out, "NO")
}
}
}
```