#include<bits/stdc++.h>
using namespace std;
string s;
int p;
bool hw(string s){
bool r=true;
for(int i=0;i<=(s.size()-1)/2;++i){
if(s[i]!=s[s.size()-1-i]){
r=false;
break;
}
}
return r;
}
int main(){
getline(cin,s);
p=s.size();
if(p%2==1) cout<<p;
else{
if(hw(s)){
while(p!=0){
p=p/2;
s=s.substr(0,p);
if(hw(s)==false){
cout<<p;
break;
}
}
}
else cout<<p;
}
return 0;
}
//草稿
// 1.定义字符串s,int p(字符串s的长度)
// 2.输入s,给p赋值
// 3.判断字符串s的长度是否为偶数
// 如果不是,那么直接输出p
// 如果是{
// 调用判断回文函数,如果不是回文,那么同样直接输出p
// 如果是{
// 当p不等于0时,那么p=p/2
// s=s.substr(0,p);
// 如果字符串s不是回文,那么输出p
// }
// }
//!!!不要关机!!!刚写到一半!!!
/**************************************************************
Problem: 1134
User: hongjiaming
Language: C++
Result: Accepted
Time:7 ms
Memory:2076 kb
****************************************************************/