#include<bits/stdc++.h>
using namespace std;
bool  hw(string s){ 
// 定义字符串 s
    bool r=true;
//	输入
//判断字符串s的长度是奇数还是偶数
//如果是奇数 输入长度p
//否则{
//	先判断是不是回文
//	如果不是 直接输入p 
//}
//否则 
 //当p不等于0
        //先从中间砍一刀,分成两个部分 p=p/2
        //截取字符串,从下标0开始截取,截取p个
//      调用回文数,判断是不是回文,不是回文,输出p,跳出循环 
    //} 
 
//}      
    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(){ 
    string s;
    cin>>s;
    int 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;
}
 
/**************************************************************
	Problem: 1134
	User: hang
	Language: C++
	Result: Accepted
	Time:8 ms
	Memory:2076 kb
****************************************************************/