Problem
Chloe vuole scrivere una lettera alla sua amica. Lettera - stringa s, composta da lettere latine minuscole.
Sfortunatamente, non appena Chloe ha iniziato a scrivere la lettera, si è resa conto che era troppo lunga e che ci sarebbe voluto molto tempo per scriverla nella sua interezza. Quindi vuole scrivere una versione compressa della stringa s invece della stringa stessa.
Una versione compressa della stringa s — la sequenza di stringhe c
1, s
1, c
2, s
2, ..., c
k, s
k, dove c
i — rappresentazione decimale di a
i (senza zeri iniziali) e s
i — qualche stringa di lettere latine minuscole. Se Chloe scrive la stringa s
1 esattamente una
1 volte, allora s
2 esattamente una
2 volte, e così on , produrrà la stringa s.
La lunghezza della versione compressa è |c
1| + |s
1| + |c
2| + |s
2|... |c
k| + |s
k|. Tra tutte le versioni compresse, Chloe vuole scegliere quella con la lunghezza minore. Aiuta Chloe a trovare la lunghezza più breve possibile.
Inserimento:
La singola riga dell'input contiene una stringa s costituita da lettere latine minuscole (1 ≤ |s| ≤ 5000).
Uscita:
Stampa un singolo numero intero — la lunghezza minima della versione compressa della stringa s.
Esempi:
Input |
Uscita |
aaaaaaaaaa |
3 |
abcab |
6 |
cczabababab |
7 |
Spiegazioni:
Nel primo esempio, Chloe selezionerà la seguente versione: c
1 — 10, s
1 — a.
Nel secondo esempio, Chloe selezionerà la seguente versione: c
1 — 1, s
1 — abcab.
Nel terzo esempio, Chloe sceglierà la seguente versione: c
1 — 2, s
1 — c, c
2 — 1, s
2 — z, c
3 — 4, s
3 — ab.