#include<bits/stdc++.h>
using namespace std;
const int MAXN=1001;
int d[MAXN][MAXN];
int main()
{
freopen("in.txt","r",stdin);
string s;
getline(cin,s);
int ans=1;
fill(d[0],d[0]+MAXN*MAXN,0);
for(int i=0;i<s.length();i++){
d[i][i]=1;
if(s[i]==s[i+1]&&i<s.length()-1){
d[i][i+1]=1;ans=2;
}
}
for(int l=3;l<=s.length();l++){
for(int i=0;i+l-1<s.length();i++){
int j=i+l-1;
if(s[i]==s[j]&&d[i+1][j-1]==1){
d[i][j]=1;
ans=l;
}
}
}
cout<<ans<<endl;
return 0;
}
d数组在全局定义