Encontrar el sucesor

Se te proporciona una lista de n cadenas. Para cada cadena s en la lista, tu tarea es encontrar la cadena sucesora t dentro de la misma lista (incluyendo el caso en que t sea igual a s). La cadena sucesora es la cadena más pequeña que aparece al inicio de la cadena s.

Entrada

La primera línea de la entrada contiene un único número entero, n (1 ≤ n ≤ 100 000), que representa la cantidad de cadenas en la lista.
Las siguientes n líneas contienen las cadenas. Cada cadena está compuesta por letras minúsculas del alfabeto inglés.
Se garantiza que el número total de caracteres en la entrada no excede .

Salida

Para cada cadena s en la entrada, produce una sola línea con la cadena sucesora t.

Ejemplos

Entrada
Salida
5 abaca aba abacaba bacab dabacaba
aba aba aba bacab dabacaba

Explicación

Para las cadenas “abaca”, la cadena sucesora es “aba”. Para la cadena “aba”, la cadena sucesora es la misma “aba”. Para las cadenas “abacaba”, la cadena sucesora es “aba”. Para la cadena “abcab”, la cadena sucesora es “bacab”. Para la cadena “dabacaba”, la cadena sucesora es “dabacaba”.

Constraints

Time limit: 7 seconds

Memory limit: 512 MB

Output limit: 1 MB

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