Mistrzostwa Polski Szkół Średnich w Programowaniu Zespołowym 2023

Old page Regulations Schedule RODO info Ranking

Problem description


Palindromizacja
(palindromizacja)
Memory limit: 32 MB
Time limit: 0.50 s

Dane jest słowo złożone z małych liter alfabetu angielskiego. Chcemy dopisać do niego możliwie mało liter, aby stało się palindromem. Palindromem nazywamy słowo, które czytane od początku jest takie samo jak czytane od końca (np. kajak, anna).

Napisz program, który wczyta słowo, wyznaczy minimalną liczbę znaków, które należy do niego dopisać (na końcu), aby stało się palindromem i wypisze wynik na standardowe wyjście.

Wejście

W pierwszym (i jedynym) wierszu wejścia znajduje się niepusty ciąg małych znaków alfabetu angielskiego.

Wyjście

Na wyjściu powinna się znaleźć jedna liczba całkowita – minimalna liczba liter, które należy dopisać na końcu słowa z wejścia, aby stało się palindromem.

Ograniczenia

Długość słowa nie przekracza 1 000 000 znaków.

Przykład

Input Output Explanation
abaa
2

Wystarczy dopisać ba, aby uzyskać słowo abaaba, które jest palindromem.

Input Output Explanation
abba
0

Podane słowo jest już palindromem, więc nie trzeba już nic do niego dopisać.