#include <iostream>
using namespace std;
// 从中心点向两边延伸比较是否相等,相等自动同时向两边移动一位在比较;
// 知道不想等计算出长度;
int getLength(string s, int l, int r) {
while (l >= 0 && r < s.size()) {
if (s[l] == s[r]) {
l--;
r++;
} else {
break;
}
}
return r - l -
1; // 因为相等之后已经各自移动了一位,需要减去 1;
}
int main() {
string line;
while (cin >> line) {
if (line.size() == 0) {
cout << "0" << endl;
continue;
}
if (line.size() == 1) {
cout << "1" << endl;
continue;
}
int maxLen = 0;
for (int i = 0; i < line.size(); i++) {
// 计算奇数个数的字符
int len_1 = getLength(line, i, i);
// 计算 偶数 个数的字符
int len_2 = getLength(line, i, i + 1);
len_1 = max(len_1, len_2);
maxLen = max(len_1, maxLen);
}
cout << maxLen << endl;
}
return 0;
}
// 64 位输出请用 printf("%lld")