Búsqueda de Subcadenas

Dado un texto largo t y una cadena s, se requiere encontrar todas las posiciones donde aparece s dentro de t. En concreto, se deben devolver las posiciones iniciales en t que concuerden con s.

Entrada

La primera línea de la entrada contiene el texto t (1 ≤ |t| ≤ ).

La segunda línea de la entrada contiene la cadena s (1 ≤ |s| ≤ |t|).

Salida

Para cada aparición de s en t, imprime la posición de inicio en t donde se produce la coincidencia. Las posiciones deben mostrarse en orden ascendente (del principio al final del texto), separadas por un espacio. El índice comienza en 0.

Ejemplos

Entrada

Salida

habababohabo
ba

2 4

barfoobarfoobarfoobarfoobarfoo
foobarfoo

3 9 15 21

Explicación

  1. habababohabo → habababohabo, habababohabo

  2. barfoobarfoobarfoobarfoobarfoo → barfoobarfoobarfoobarfoobarfoo, barfoobarfoobarfoobarfoobarfoo, barfoobarfoobarfoobarfoobarfoo, barfoobarfoobarfoobarfoobarfoo

Constraints

Time limit: 5 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue