#include <bits/stdc++.h>
using namespace std;
string s,s_new;
int p[20000005];
int Init()
{
int len=s.size(),j=2;
s_new+='$';
s_new+='#';
for(int i=0;i<len;i++)
{
s_new+=s[i];
s_new+='#';
}
s_new+='\0';
return s_new.size();
}
int main()
{
cin>>s;
int len=Init(),maxn=-1,id,mx=0;
for(int i=1;i<len;i++)
{
if(i<mx)
p[i]=min(p[2*id-i],mx-i);
else
p[i]=1;
while(s_new[i-p[i]]==s_new[i+p[i]])
p[i]++;
if(mx<i+p[i])
{
id=i;
mx=i+p[i];
}
maxn=max(maxn,p[i]-1);
}
cout<<maxn;
return 0;
}