#include <iostream>
#include <string>
using namespace std;
bool cmp(string st, int left, int right){//判断是不是回文字符串
for(;left < right; left++, right--){
if(st[left] != st[right]){
return false;
}
}
return true;
}
int main(){
string str;
int maxm = 0;
while(cin >> str){
for(int i = 0; i < str.size(); i++){
for(int j = i; j < str.size(); j++){
if(cmp(str,i,j)){
maxm = max(maxm,(j-i+1));
}
}
}
}
cout<< maxm << endl;
}
#include <string>
using namespace std;
bool cmp(string st, int left, int right){//判断是不是回文字符串
for(;left < right; left++, right--){
if(st[left] != st[right]){
return false;
}
}
return true;
}
int main(){
string str;
int maxm = 0;
while(cin >> str){
for(int i = 0; i < str.size(); i++){
for(int j = i; j < str.size(); j++){
if(cmp(str,i,j)){
maxm = max(maxm,(j-i+1));
}
}
}
}
cout<< maxm << endl;
}