#include<bits/stdc++.h>
using namespace std;
int getLen(string str, int low, int high) { //中心扩展法
while(low>=0 && high<str.length() && str[low]==str[high]) {
low--;
high++;
}
return high-low-1;
}
int main() {
string str; //存放输入的字符串
while(getline(cin, str)) { //获取输入的一行字符串
int length = str.length(); //length为字符串的长度
if(length==0 || length==1) { //如果字符串长度为小于等于1,直接输出字符串的长度
cout<<length<<endl;
continue;
}
else { //如果字符串的长度大于1
int len=0; //len为最长回文子串的长度
for(int i=0;i<length-1;i++) { //循环计算每个中心点下的最长回文子串
int x = getLen(str, i, i); //单中心回文子串长度
int y = getLen(str, i, i+1); //双中心回文子串的长度
len = max( max(x,y), len);
}
cout<<len<<endl;
}
}
return 0;
}