Module: Muster in der dynamischen Programmierung


Problem

4 /7


Problem

Chloe möchte einen Brief an ihren Freund schreiben. Der Brief ist eine Linie s, die aus einem harten lateinischen Charakter besteht.
Leider, sobald Chloe begann, einen Brief zu schreiben, erkannte sie, dass es zu lang war und es dauerte lange, um es zu schreiben. Sie will also eine präzise Version der Zeile s anstelle der Zeile selbst schreiben.

Komprimierte Version der Zeile s - Sequenz c1, s1, c2, s2...,ck., sk.cI - dezimaler Ort aI (ohne Null) sI - eine Linie des Latinums. Wenn Chloe eine Zeile s schreibt1 Zahl a1 Eins, dann s2 Zahl a2 Eins, und so weiter, wird sie in der Lage sein, eine Linie zu machen.
Die Länge der komprimierten Version ist ойc1 + s1 cc2 + s2...k. + sk.. Unter allen komprimierten Versionen will Chloe eine auswählen, die die Mindestlänge ist. Hilfe Chloe die minimale mögliche Länge bestimmen.

Eingabe:
Die einzige Zeile der Eingabedaten ist eine Zeile aus harten lateinischen Buchstaben (1 ≤ ныхsных ≤ 5.000).

Ausgangsdaten:
Nehmen Sie eine ganze Zahl aus, die Mindestlänge der komprimierten Zeile s.

Beispiele:
EingangsdatenAusgangsdaten
aaaaaaaaaaaaaaa3
Abstrich6
Cczababababab7


Beschreibung:
Im ersten Beispiel wählt Chloe die folgende Version aus: c)1 - 10, s1 - a.
Im zweiten Beispiel wählt Chloe die folgende Version: c)1 - Eins, s1 - Abcab.
Im dritten Beispiel wählt Chloe die folgende Version: c)1 - 2, s1 - c, c2 - Eins, s2 - z, c3 - 4, s3 - Ab.