For problem statement at 0-999/100-199/190-199/198/problemB.txt this is a correct solution, but verifier at 0-999/100-199/190-199/198/verifierB.go ends with All tests passed can you fix the verifier? ```go
package main
import (
"bufio"
"fmt"
"os"
)
type Node struct {
side int
pos int
t int
}
func main() {
in := bufio.NewReader(os.Stdin)
out := bufio.NewWriter(os.Stdout)
defer out.Flush()
var n, k int
if _, err := fmt.Fscan(in, &n, &k); err != nil {
return
}
var sL, sR string
fmt.Fscan(in, &sL)
fmt.Fscan(in, &sR)
walls := [2][]byte{[]byte(sL), []byte(sR)}
visited := make([][]bool, 2)
visited[0] = make([]bool, n+2)
visited[1] = make([]bool, n+2)
q := make([]Node, 0, 2*n+5)
q = append(q, Node{0, 1, 0})
visited[0][1] = true
head := 0
for head < len(q) {
cur := q[head]
head++
if cur.pos <= cur.t {
continue
}
nt := cur.t + 1
np := cur.pos + 1
if np > n {
fmt.Fprintln(out, "YES")
return
}
if np > nt && walls[cur.side][np-1] == '-' && !visited[cur.side][np] {
visited[cur.side][np] = true
q = append(q, Node{cur.side, np, nt})
}
np = cur.pos - 1
if np > 0 && np > nt && walls[cur.side][np-1] == '-' && !visited[cur.side][np] {
visited[cur.side][np] = true
q = append(q, Node{cur.side, np, nt})
}
ns := 1 - cur.side
np = cur.pos + k
if np > n {
fmt.Fprintln(out, "YES")
return
}
if np > nt && walls[ns][np-1] == '-' && !visited[ns][np] {
visited[ns][np] = true
q = append(q, Node{ns, np, nt})
}
}
fmt.Fprintln(out, "NO")
}
```