manacher
#include<bits/stdc++.h>
using namespace std;
string kk;
char s[4200];
int hw[4200];
int main(){
getline(cin,kk);
int len=kk.size();
s[0]=s[1]='#';
for(int i=0;i<len;i++){
s[i*2+2]=kk[i];
s[i*2+3]='#';
}
len=len*2+2;
s[len]=0;
int l=-1,r=-1;
int res=0;
int mid=0;
for(int i=1;i<len;i++){
if(r>i) hw[i]=min(hw[mid]-(i-mid),hw[2*mid-i]);
else hw[i]=1;
while(s[i+hw[i]]==s[i-hw[i]]) hw[i]++;
if(hw[i]+i>r){
r=hw[i]+i;
mid=i;
res=max(res,hw[i]-1);
}
}
cout<<res;
return 0;
}