For problem statement at 1000-1999/1900-1999/1940-1949/1948/problemC.txt this is a correct solution, but verifier at 1000-1999/1900-1999/1940-1949/1948/verifierC.go ends with All tests passed! can you fix the verifier? ```go
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
reader := bufio.NewReader(os.Stdin)
writer := bufio.NewWriter(os.Stdout)
defer writer.Flush()
var t int
fmt.Fscan(reader, &t)
for tc := 0; tc < t; tc++ {
var n int
fmt.Fscan(reader, &n)
var s [2]string
fmt.Fscan(reader, &s[0])
fmt.Fscan(reader, &s[1])
visited := make([][]bool, 2)
for i := 0; i < 2; i++ {
visited[i] = make([]bool, n)
}
queue := make([][2]int, 0, 2*n)
queue = append(queue, [2]int{0, 0})
visited[0][0] = true
found := false
dirs := [][2]int{{0, 1}, {0, -1}, {1, 0}, {-1, 0}}
for len(queue) > 0 && !found {
curr := queue[0]
queue = queue[1:]
r, c := curr[0], curr[1]
if r == 1 && c == n-1 {
found = true
break
}
for _, d := range dirs {
nr, nc := r+d[0], c+d[1]
if nr >= 0 && nr < 2 && nc >= 0 && nc < n {
var nc2 int
if s[nr][nc] == '>' {
nc2 = nc + 1
} else {
nc2 = nc - 1
}
if nc2 >= 0 && nc2 < n && !visited[nr][nc2] {
visited[nr][nc2] = true
queue = append(queue, [2]int{nr, nc2})
}
}
}
}
if found {
fmt.Fprintln(writer, "YES")
} else {
fmt.Fprintln(writer, "NO")
}
}
}
```