String Functions.
Consideremos una cadena de caracteres, indexada del
al
. Su tarea consiste en calcular todos los valores de las siguientes funciones:
representa la longitud máxima de una subcadena que comienza en la posición
y es un prefijo de la cadena. Además,
.
representa la longitud máxima de una subcadena que termina en la posición
, es un prefijo de la cadena y cuya longitud es como máximo
.
Tenga en cuenta que la función se utiliza en el algoritmo
, y la función
en el algoritmo KMP.
Entrada
La única línea de entrada contiene una cadena de longitud . Cada carácter está entre la a y la z.
Salida
Imprima dos líneas: primero los valores de la función y luego los valores de la función
.
Restricciones
Ejemplo de Entrada
abaabca
Ejemplo de Salida
0 0 1 2 0 0 1
0 0 1 1 2 0 1
Comments