#abc286c. [abc286_c]Rotate and Palindrome
[abc286_c]Rotate and Palindrome
Problem Statement
You are given a string of length . Let be the -th character of from the left.
You may perform the following two kinds of operations zero or more times in any order:
-
Pay yen (the currency in Japan). Move the leftmost character of to the right end. In other words, change to .
-
Pay yen. Choose an integer between and , and replace with any lowercase English letter.
How many yen do you need to pay to make a palindrome?
What is a palindrome? A string is a palindrome if and only if the -th character from the left and the -th character from the right are the same for all integers (), where is the length of .
Constraints
- is a string of length consisting of lowercase English letters.
- All values in the input except for are integers.
Input
The input is given from Standard Input in the following format:
Output
Print the answer as an integer.
Sample Input 1
5 1 2
rrefa
Sample Output 1
3
First, pay yen to perform the operation of the second kind once: let to replace with e
. is now rrefe
.
Then, pay yen to perform the operation of the first kind once. is now refer
, which is a palindrome.
Thus, you can make a palindrome for yen. Since you cannot make a palindrome for yen or less, is the answer.
Sample Input 2
8 1000000000 1000000000
bcdfcgaa
Sample Output 2
4000000000
Note that the answer may not fit into a -bit integer type.