#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;
    
    
}