Un caballo se encuentra sobre un tablero de ajedrez. El caballo sólo se puede mover según las reglas habituales (es decir, modificando en dos unidades una de sus coordenadas, y en una unidad la otra coordenada, para un total de ocho posibles movimientos), siempre y cuando no salga del tablero ni visite ninguna casilla con un obstáculo. ¿Cuál es el mínimo número de pasos que debe dar el caballo para llegar a una zanahoria?
Entrada
La entrada consiste en diversos casos. Cada caso empieza con el número de filas f y el número de columnas c del tablero. Tanto f como c són como mínimo 3. Siguen f filas con c caracteres cada una. Una ‘z’ indica una zanahoria, una ‘X’ indica un obstáculo, y un ‘.’ indica una posición libre. Cada caso acaba con la posición (fila y columna) inicial del caballo. (La casilla más a la izquierda de la primera fila es la (1, 1).) La posición inicial siempre estará libre.
Salida
Para cada caso, escribid una línea. Si el caballo puede llegar a alguna zanahoria, escribid el mínimo número de pasos. En otro caso, escribid ‘no’’.
Puntuación
Input
3 3 ... ..z ... 1 1 4 6 XXXXXX X..XXX XXXX.X zX.XXX 2 3 3 4 XXXX XXX. XXXX 2 4 3 4 zzXX z.zz zzz. 3 4
Output
1 4 no no
Input
5 9 X........ zXX..Xz.. X.X...... .X..X.... ..z...... 5 6 7 8 zXXXzzzz Xzzz.zzz zz.zXXXX XXzXXXXX zXX.z..X zXzX..zX zzXXXX.. 5 6
Output
2 9