//1定义字符串s,再来个长度p 
//2有请我们的老演员——输入,闪亮登场! 
//3.(温馨提示,接下来有点烧脑,记得带好足够的脑子)
//判断亿下s是奇是偶
//{
//不是:输出长度P ,然后丨
//是: 如果s不是回文(函数):输出p后丨
//     是回文:{ 
//    	只要p没成0,就给我对半砍 ,用截取把s也砍一半;
//      如果不是回文(函数),输出后丨 
//	 } 
//}
#include<bits/stdc++.h>
using namespace std;
bool hws(string s)
{
	bool w = true;
	for(int i = 0; i <=(s.size() - 1)/2; i++)
	{
		if(s[i] != s[s.size() - 1 - i])
		{
			w = false;
			break;
		}
	}
	return w;
}
int main()
{
	string s;
	cin >> s;
	int p = s.size();

	if(p % 2 == 1)
	{
		cout << p;
	}
	else
	{
		if(hws(s)== false)
		{
			cout << p;
		}
		else
		{
			while(p != 0)
			{
				p /= 2;
				s = s.substr(0,p);
				if(hws(s) ==false)
				{
					cout << p;
					break;
				}
			}
		}
		
	}
	return 0;
} 
/**************************************************************
	Problem: 1134
	User: yangwanning
	Language: C++
	Result: Accepted
	Time:8 ms
	Memory:2076 kb
****************************************************************/