#include<bits/stdc++.h>
#include<time.h>
using namespace std;
int p[12000006];
int mx,id,len;
int ans;
string a,b;
void yu(){
int it=0;
b[it++]='&';
for(int i=0;i<a.size();i++){
b[it++]='#';
b[it++]=a[i];
}
b[it++]='#';
len=it;
return;
}
int manacher(){
for(int i=1;i<len;i++){
p[i]=mx>i?min(mx-i,p[id*2-i]):1;
while(b[i-p[i]]==b[i+p[i]]){
p[i]++;
}
if(p[i]+i>mx){
mx=p[i]+i;
id=i;
ans=max(ans,p[i]);
}
}
return ans-1;
}
int main(){
cin>>a;
yu();
int temp=manacher();
cout<<temp;
return 0;
}
rt(