#include #define PB push_back #define MP make_pair #define REP(i,n) for (int i=0;i<(n);i++) #define FOR(i,a,b) for(int i=(a);i<(b);i++) #define ALL(a) (a).begin(),(a).end() using namespace std; typedef long long ll; typedef unsigned long long ull; typedef pair P; const int INF=1e9; int main(){ string s; cin>>s; int dp[100]; memset(dp,0,sizeof(dp)); REP(i,s.size()){ for(int j=1;j<=s.size()-i;j++){ if(j==s.size())continue; string t=s.substr(i,j); reverse(ALL(t)); if(s.substr(i,j)==t)dp[i+j]=max(dp[i+j],max(dp[i],(int)t.size())); } } cout<