Suddivisione in Palindromi

Data una stringa s, il tuo obiettivo è suddividerla in sottostringhe in modo che ciascuna risulti un palindromo. Devi restituire tutte le possibili suddivisioni palindromiche di s, in un formato che utilizza il simbolo | per separare le sottostringhe. L’ordine in cui vengono presentate le diverse suddivisioni è arbitrario.
Un palindromo è una stringa che si legge allo stesso modo sia in avanti che a ritroso.

Input

L’input consiste in un’unica stringa s (1 ≤ |s| ≤ 16), composta esclusivamente da lettere minuscole dell’alfabeto inglese.

Output

Restituisci un elenco di tutte le possibili suddivisioni palindromiche di s. Ogni suddivisione deve essere rappresentata come una singola stringa in cui le sottostringhe sono unite dal simbolo |. L’ordine delle suddivisioni nell’elenco di output è arbitrario.

Esempi

Input
Output
aab
a
aba
a

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

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