#include<bits/stdc++.h>
using namespace std;
const int MAXN = 110005;
string expand(string s)
{
string str="*#";
for(int i=0;i<s.size();i++)
{
str+=s[i];
str+='#';
}
return str;
}
string man(string s)
{
string s1=expand(s);
int idd=0,max=0,len[2*MAXN],maxle=0,start=0;
for(int i=0;i<s1.size();i++)
{
if(i<max)
len[i]=min(len[2*idd-i],max-i);
else len[i]=1;
for(;s1[i+len[i]]==s1[i-len[i]]&&i+len[i]<s1.size()&&i-len[i]>0;len[i]++);
if(len[i]+i>max)
{
max=len[i]+i;
idd=i;
}
if(len[i]-1>maxle)
{
maxle=len[i]-1;
start=(idd-maxle)/2;
}
}
return s.substr(start,maxle);
}
int main()
{
string s;
std::ios::sync_with_stdio(false);
while(cin>>s)
{
s=man(s);
cout<<s.size()<<endl;
}
return 0;
}