#agc021d. [agc021_d]Reversed LCS
[agc021_d]Reversed LCS
Problem Statement
Takahashi has decided to give a string to his mother.
The value of a string is the length of the longest common subsequence of and , where is the string obtained by reversing . That is, the value is the longest length of the following two strings that are equal: a subsequence of (possibly non-contiguous), and a subsequence of (possibly non-contiguous).
Takahashi has a string . He wants to give her mother a string of the highest possible value, so he would like to change at most characters in to any other characters in order to obtain a string of the highest possible value. Find the highest possible value achievable.
Constraints
- consists of lowercase English letters.
- is an integer.
Input
Input is given from Standard Input in the following format:
Output
Print the highest possible value achievable.
Sample Input 1
abcabcabc
1
Sample Output 1
7
Changing the first character to c
results in cbcabcabc
. Let this tring be , then one longest common subsequence of and is cbabcbc
, whose length is .
Sample Input 2
atcodergrandcontest
3
Sample Output 2
15