#include<bits/stdc++.h>
#define ll long long
#define F(i,a,b) for(ll i=a;i<=b;i++)
#define R(i,a,b) for(ll i=a;i>=b;i--)
#define sc(a) scanf("%lld",&a)
#define ps(a) printf("%lld ",a)
#define pn(a) printf("%lld\n",a)
using namespace std;
const ll N=5e7+7;
ll cnt,p[N],ans;
string s,c;
inline void fr(){
cin>>c;
s[++cnt]='~';
s[++cnt]='#';
ll len=c.length();
c=" "+c;
F(i,1,len){
s[++cnt]=c[i];
s[++cnt]='#';
}
s[++cnt]='!';
}
int main(){
fr();
ll mid=0,r=0;
F(i,2,cnt-1){
if(i<=r) p[i]=min(p[(mid*2)-i],r-i+1);
else p[i]=1;
while(s[i+p[i]]==s[i-p[i]]) p[i]++;
if(i+p[i]>r) r=i+p[i]-1,mid=i;
ans=max(ans,p[i]);
}
pn(ans-1);
exit(0);
}
RT ,求助