#include<bits/stdc++.h>
using namespace std;
int ls;
char s[10000010],a[20000010];
int h[20000010];
int mid,r;
int ans=1;
int main() {
cin>>s;
ls=strlen(s);
a[0]='&';
for(int i=1;i<=ls;i++) a[i*2-1]='#',a[i*2]=s[i-1];
a[ls*2+1]='#',a[ls=ls*2+2]='^';
mid=0;r=0;
for(int i=1;i<=ls;i++) {
if(i<r) h[i]=min(h[mid*2-i],h[mid]+mid-i);
else h[i]=1;
for(;a[i+h[i]]==a[i-h[i]];h[i]++) ;
if(i+h[i]>r) r=i+h[i],mid=i;
}
for(int i=0;i<ls;i++) ans=max(ans,h[i]);
cout<<ans-1<<endl;
return 0;
}