#include <string> #include <iostream> #include<vector> using namespace std; int main(){ string s; getline(cin,s); int n=s.size(); vector<vector<bool>> dp(n,vector<bool>(n)); int res=0; for(int l=0;l<n;l++){ for(int i=0;i<n;i++){ int j=i+l; if(j>=n) break; if(l==0) dp[i][j]=true; else if(l==1&&s[i]==s[j]) dp[i][j]=true; else if(l>=2&&s[i]==s[j]&&dp[i+1][j-1]) dp[i][j]=true; if(dp[i][j]){ res=max(res,l+1); } } } cout<<res<<endl; }