Sugoroku
Carlitos está jugando a un juego de mesa llamado Sugoroku. En el tablero hay casillas numeradas de a . Carlitos empieza en la casilla , y tiene que detenerse exactamente en la casilla para ganar la partida.
El juego utiliza una ruleta con los números de a . En cada turno, el muchacho hace girar la ruleta. Si el número sale cuando está en la casilla , se mueve a la casilla . Si esto le hace ir más allá de la casilla , pierde la partida.
Además, algunas de las casillas son casillas de Game Over. También pierde la partida si se detiene en una de ellas. Se le da una cadena de longitud , que representa qué casillas son casillas de fin de partida. Para cada casilla , es Game Over si y no lo es si . Se sabe que y .
Encuentre la secuencia de números que salen en la ruleta en la que Carlitos puede ganar la partida en el menor número de turnos posible. Si hay varias secuencias de este tipo, encuentra la secuencia lexicográficamente más pequeña. Si no se puede ganar la partida, imprime .
Entrada
La primera línea de la entrada contiene los enteros y . La segunda línea contiene la cadena .
Salida
Si Carlitos puede ganar la partida, imprime la secuencia lexicográficamente más pequeña entre las secuencias más cortas de números que salen en la ruleta en las que Carlitos puede ganar la partida, con espacios intermedios. Si Carlitos no puede ganar la partida, imprime -1.
Ejemplo de Entrada #1
9 3
0001000100
Ejemplo de Salida #1
1 3 2 3
Ejemplo de Entrada #2
5 4
011110
Ejemplo de Salida #2
-1
Ejemplo de Entrada #3
6 6
0101010
Ejemplo de Salida #3
6
Comments