#include <iostream>
using namespace std;
// 判断是否是回文子串
static bool isPalindromicSub(string s) {
int length = s.size();
for (int i = 0; i < length / 2; i++) {
while (s[i] != s[length - 1 - i])
return false;
}
return true;
}
int main() {
string s;
while (cin >> s) {
if (s.size() == 1) {
cout << 1 << endl;
} else {
int maxLength = 0;
for (int i = 0; i < s.size(); i++) {
for (int j = 0; j <= s.size() - i; j++) {
string subStr = s.substr(i, j);
if (isPalindromicSub(subStr) && j > maxLength)
maxLength = j;
}
}
cout << maxLength << endl;
}
}
return 0;
}