#include<bits/stdc++.h>
using namespace std;
constexpr int N=1.1e7+5;
char s[N<<1];
int n,f[N<<1];
int main(){
cin>>(s+1);
n=strlen(s+1);
for(int i=(n<<1);i>0;i-=2)
s[i]=s[i>>1],s[i+1]='#';
s[0]='~',s[1]='#';
for(int i=1,mid=0,r=0;i<=(n<<1);i++){
if(i<=r)
f[i]=min(f[(mid<<1)-i],r-i+1);
while(s[i+f[i]+1]==s[i-f[i]-1])
f[i]++;
if(r<i+f[i])
r=i+f[i],mid=i;
}
cout<<(*max_element(f+1,f+(n<<1)+1));
return 0;
}