#include #define rep(i,n) for(int i = 0; i < (n); ++i) #define srep(i,s,t) for (int i = s; i < t; ++i) #define drep(i,n) for(int i = (n)-1; i >= 0; --i) using namespace std; typedef long long int ll; typedef pair P; #define yn {puts("Yes");}else{puts("No");} #define MAX_N 200005 int is_kaibun(string str){ int m = str.size(); int res = 1; for(int i = 0; i < m / 2; i++){ if(str[i] != str[m-1-i]){ res = 0; break; } } return res; } int main() { string s; cin >> s; int ans = 0; int n = s.size(); rep(i,n){ srep(j,i,n){ if(i == 0 && j == n - 1)continue; string t; srep(k,i,j+1){ t += s[k]; } if(is_kaibun(t))ans = max(ans, (int)t.size()); } } cout << ans << endl; return 0; }