#include<bits/stdc++.h>
using namespace std;
//最长回文子串
int dp[1010][1010];
char c[1010];
int main() {
cin>>c;
memset(dp,0,sizeof(dp));
//数组初始化全为0
int len=strlen(c);
int ans=1;
for (int i=0;i<len;i++) {
dp[i][i]=1;
if(i<len-1) {
if(c[i]==c[i+1]) {
dp[i][i+1]=1;
//i到i+1是回文串,长度为2时
ans=2;
}
}
}
for (int i=3;i<=len;i++) {
//回文串长度 从3到len枚举
for (int j=0;j<len-i+1;j++) {
//探测的回文串起点
int k=j+i-1;
//终点
if(c[j]==c[k]&&dp[j+1][k-1]==1) {
dp[j][k]=1;
ans=i;
}
}
}
cout<<ans;
return 0;
}
10-26
223
