For problem statement at 0-999/0-99/70-79/74/problemB.txt this is a correct solution, but verifier at 0-999/0-99/70-79/74/verifierB.go ends with All tests passed can you fix the verifier? ```go
package main
import (
"fmt"
)
func main() {
var n, m, k int
if _, err := fmt.Scan(&n, &m, &k); err != nil {
return
}
var to, dirStr string
if _, err := fmt.Scan(&to, &dirStr); err != nil {
return
}
var S string
if _, err := fmt.Scan(&S); err != nil {
return
}
cPos := k
cDir := 0
if dirStr == "head" {
cDir = -1
} else if dirStr == "tail" {
cDir = 1
}
possible := make([]bool, n+1)
possible[m] = true
for i := 0; i < len(S); i++ {
minute := i + 1
ch := S[i]
cOld := cPos
cPos += cDir
if cPos == 1 {
cDir = 1
} else if cPos == n {
cDir = -1
}
cNew := cPos
if ch == '0' {
nextPossible := make([]bool, n+1)
hasPossible := false
for p := 1; p <= n; p++ {
if possible[p] {
for delta := -1; delta <= 1; delta++ {
np := p + delta
if np >= 1 && np <= n {
if np != cOld && np != cNew {
nextPossible[np] = true
hasPossible = true
}
}
}
}
}
if !hasPossible {
fmt.Printf("Controller %d\n", minute)
return
}
possible = nextPossible
} else {
if i == len(S)-1 {
fmt.Println("Stowaway")
return
}
nextPossible := make([]bool, n+1)
for p := 1; p <= n; p++ {
if p != cNew {
nextPossible[p] = true
}
}
possible = nextPossible
}
}
fmt.Println("Stowaway")
}
```