#include<iostream>
#include<cstring>
using namespace std;
int main()
{
freopen("C:\\Users\\23535\\Desktop\\in.txt","r",stdin); //输入重定向,输入数据将从D盘根目录下的in.txt文件中读取
freopen("C:\\Users\\23535\\Desktop\\out.txt","w",stdout); //输出重定向,输出数据将保存在D盘根目录下的out.txt文件中
char s [100];
gets(s);
int dp[100][100];
int ans=1;
int len=strlen(s);
for(int i=0;i<len;i++)
{
dp[i][i]=1;
}
for(int i=0;i<len;i++)
{
int j=i+1;
if(s[i]==s[j])
{
dp[i][j]=1;
ans=2;
}
}
for(int l=3;l<=len;l++)
{
for(int i=0;i+l-1<=len;i++)
{
int j=i+l-1;
if(s[i]==s[j]&&dp[i+1][j-1]==1)
{
dp[i][j]=1;
ans=l;
}
}
}
cout<<ans<<endl;
fclose(stdin);//关闭重定向输入
fclose(stdout);//关闭重定向输出
return 0;
}