/*
思路:采用中心扩展法
注意点:
1. 注意上下边界的判断
2. 注意两种回文中心的处理
*/
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int main() {
string s;
while (cin >> s) {
int maxlen = 0;
int len = s.length();
for (int i = 1; i < len; i++) //每个点都可以为中心
{
//计算以i-1和i为中心的偶数长度的回文子串长度
int low = i - 1, high = i;
while (low >= 0 && high < len && s[low] == s[high]) { //中心两边必须都相同
low--;
high++;
}
maxlen = max(maxlen, high - low - 1);
//计算以i为中心的奇数长度的回文子串长度
low = i - 1, high = i + 1;
while (low >= 0 && high < len && s[low] == s[high]) { //中心两边必须都相同
low--;
high++;
}
maxlen = max(maxlen, high - low - 1);
}
cout << maxlen << endl;
}
return 0;
}