#include<bits/stdc++.h>
#define int long long
using namespace std;
const int maxn=3e7+10,mod=1e9+7;
inline int read(){
int c,w=0,n=0;
while((c=getchar())<'0'||'9'<c) w=c=='-';
do n=n*10+c-'0';while('0'<=(c=getchar())&&c<='9');
return w?-n:n;
}
inline int write(int n){
if(n<0) putchar('-'),n=-n;
if(n>9) write(n/10);
putchar(n%10+'0');
return n;
}
int a[maxn],p=1,ans;
char s[maxn];
signed main(){
cin>>s;
for(int i=strlen(s)-1;~i;--i) s[i<<1|1]=s[i],s[i<<1]='|';
s[0]='~';
for(int i=1,mid=1,l=0;s[i];++i){
if(i<=mid+l-1) a[i]=min(a[mid+l-i],mid+l-i);
for(;s[i+a[i]]==s[i-a[i]];a[i]++);
if(i+a[i]>mid+l) mid=i,l=a[i];
if(s[i]=='|') ans=max(ans,a[i]/2*2);
else ans=max(ans,(a[i]-1)/2*2+1);
}
write(ans);
return 0;
}