#include "iostream"
#include "algorithm"
#include "cstring"
#define maxn 100050
using namespace std;
char s[maxn],ch[maxn<<1];
int p[maxn<<1];
void init(){
int i,l;
ch[0]='@';
ch[1]='#';
for(i=0,l=2;s[i];i++,l+=2){
ch[l]=s[i];
ch[l+1]='#';
}
ch[l]=0;
}
int manacher(){
int ans=0;
int i,mx,id;
mx=0;
for(i=1;ch[i];i++){
if(mx>i)
p[i]=p[2*id-i]>(mx-i)?(mx-i):p[2*id-i];
else
p[i]=1;
while(ch[i+p[i]]==ch[i-p[i]])
p[i]++;
if(i+p[i]>mx){
mx=i+p[i];
id=i;
}
if(p[i]>ans)
ans=p[i];
}
return ans-1;
}
int main(){
while(cin>>s){
init();
cout<<manacher()<<endl;
}
return 0;
}