#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
/*
中心扩展法:。用两个指针i和j,分别向前和向后遍历,如果两个指针的值不同,则停止遍历,如果相同,则代表一个回文字符串的诞生,继续遍历,直到边界。
*/
int CenterExtension(string strIn, int l, int r)
{
while(l >= 0 && r < strIn.size() && strIn[l] == strIn[r]) {
l--;
r++;
}
return r - l -1;
}
/*
思路:前后遍历,如果指针指向的值不相等,则结束,根据奇偶性,获取长度,比较长度大小,取较大值。
*/
int KeyInterceptLen(string strIn)
{
int strInLen = strIn.length();
int maxValue = 0;
//根据奇数与偶数,i < strInLen - 1
for(int i = 0; i < strInLen - 1; i++) {
int oddNum = CenterExtension(strIn, i, i); //偶数
int evenNum = CenterExtension(strIn, i, i+1); //奇数
maxValue = max(max(oddNum, evenNum), maxValue);
}
return maxValue;
}
int main()
{
string strIn;
while(getline(cin, strIn)) {
cout<<KeyInterceptLen(strIn)<<endl;
}
}