import java.util.Scanner;
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
char[] charArray = sc.nextLine().toCharArray();
int maxLength = charArray.length == 0 ? 0 : 1;
for (int i = 0; i < charArray.length; i++) {
maxLength = judgeSymmetry(charArray, i, maxLength);
}
System.out.println(maxLength);
}
/**
* 判断当前字符是否时奇数对称或者偶数对称
* @param charArray
* @param currentCharIndex
* @param maxLength
* @return
*/
private static int judgeSymmetry(char[] charArray, int currentCharIndex, int maxLength) {
int preCharIndex = currentCharIndex - 1;
int sufCharIndex = currentCharIndex + 1;
if (preCharIndex < 0 || sufCharIndex >= charArray.length) {
return maxLength;
}
// 偶数对称逻辑
if (charArray[currentCharIndex] == charArray[sufCharIndex]) {
int evenLength = 2;
evenLength = judgeSymmetry(charArray, preCharIndex, evenLength, sufCharIndex + 1);
maxLength = Math.max(maxLength, evenLength);
}
// 奇数对称逻辑(这里不能二选一,需要注意既是偶数对称又是奇数对称的情况)
if (charArray[preCharIndex] == charArray[sufCharIndex]) {
int oddLength = 3;
oddLength = judgeSymmetry(charArray, preCharIndex - 1, oddLength, sufCharIndex + 1);
maxLength = Math.max(maxLength, oddLength);
}
return maxLength;
}
/**
* 判断前后两个字符是否一致
* @param charArray
* @param preCharIndex
* @param evenLength
* @param sufCharIndex
* @return
*/
private static int judgeSymmetry(char[] charArray, int preCharIndex, int evenLength, int sufCharIndex) {
if (preCharIndex < 0 || sufCharIndex >= charArray.length || charArray[preCharIndex] != charArray[sufCharIndex]) {
return evenLength;
}
evenLength += 2;
return judgeSymmetry(charArray, preCharIndex - 1, evenLength, sufCharIndex + 1);
}
}