#include <iostream>
using namespace std;

// 判断是否是回文子串
static bool isPalindromicSub(string s) {
    int length = s.size();

    for (int i = 0; i < length / 2; i++) {
        while (s[i] != s[length - 1 - i])
            return false;

    }
    return true;
}

int main() {
    string s;

    while (cin >> s) {
        if (s.size() == 1) {
            cout << 1 << endl;
        } else {
            int maxLength = 0;
            for (int i = 0; i < s.size(); i++) {
                for (int j = 0; j <= s.size() - i; j++) {
                    string subStr = s.substr(i, j);
                    if (isPalindromicSub(subStr) && j > maxLength)
                        maxLength = j;
                }
            }
            cout << maxLength << endl;
        }
    }

    return 0;
}