#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
****************************************************************/