#include<bits/stdc++.h>
#define maxn 51000010
using namespace std;
int n,f[maxn];
char a[maxn],s[maxn<<1];
void change()
{
s[0]='#';
s[1]='#';
for (int i=0;i<n;i++)
s[i*2+2]=a[i],s[i*2+3]='#';
n=n*2+2;
s[n]=0;
}
void manacher()
{
int maxr=0,maxd=0;
for (int i=1;i<n;i++)
{
if(i<maxr)
f[i]=min(f[2*maxd-i],f[maxd]+maxd-i);
else
f[i]=1;
//cout<<2*maxd-i<<' '<<i-f[i]<<endl;
while (s[i-f[i]]==s[i+f[i]])
f[i]++;
if (maxr<i+f[i])
{
maxd=i;
maxr=i+f[i];
}
}
return ;
}
int main()
{
scanf("%s",a);
n=strlen(a);
change();
manacher();
int ans=1;
for (int i=0;i<n;i++)
ans=max(ans,f[i]);
cout<<ans-1;
}