Szablon
Limit pamięci: 32 MB
Bajtazar chce umieścić na swoim domu długi napis. W tym celu najpierw
musi wykonać odpowiedni szablon z wyciętymi literkami. Następnie
przykłada taki szablon we właściwe miejsce do ściany i maluje po
nim farbą, w wyniku czego na ścianie pojawiają się literki znajdujące się
na szablonie. Gdy szablon jest przyłożony do ściany, to malujemy od
razu wszystkie znajdujące się na nim literki (nie można tylko części).
Dopuszczamy natomiast możliwość, że któraś litera na ścianie zostanie
narysowana wielokrotnie, w wyniku różnych przyłożeń szablonu. Literki
na szablonie znajdują się koło siebie (nie ma tam przerw). Oczywiście
można wykonać szablon zawierający cały napis. Bajtazar chce jednak
zminimalizować koszty i w związku z tym wykonać szablon tak krótki, jak
to tylko możliwe.
Zadanie
Napisz program który:
-
wczyta ze standardowego wejścia napis, który Bajtazar chce umieścić na
domu,
-
obliczy minimalną długość potrzebnego do tego szablonu,
-
wypisze wynik na standardowe wyjście.
Wejście
W pierwszym i jedynym wierszu standardowego wejścia znajduje się jedno
słowo. Jest to napis, który Bajtazar chce umieścić na domu. Napis
składa się z nie więcej niż , oraz nie mniej niż małej
litery alfabetu angielskiego.
Wyjście
W pierwszym i jedynym wierszu standardowego wyjścia należy zapisać jedną
liczbę całkowitą - minimalną liczbę liter na szablonie.
Przykład
Dla danych wejściowych:
ababbababbabababbabababbababbaba
poprawną odpowiedzią jest:
8
Rysunek pokazuje, że szablon ababbaba może służyć do namalowania napisu z przykładu.
Autor zadania: Wojciech Rytter.