#include <iostream>
using namespace std;

// 从中心点向两边延伸比较是否相等,相等自动同时向两边移动一位在比较;
// 知道不想等计算出长度;
int getLength(string s, int l, int r) {
    while (l >= 0 && r < s.size()) {
        if (s[l] == s[r]) {
            l--;
            r++;
        } else {
            break;
        }
    }
    return r - l -
           1; // 因为相等之后已经各自移动了一位,需要减去 1;
}
int main() {
    string line;
    while (cin >> line) {
        if (line.size() == 0) {
            cout << "0" << endl;
            continue;
        }

        if (line.size() == 1) {
            cout << "1" << endl;
            continue;
        }

        int maxLen = 0;
        for (int i = 0; i < line.size(); i++) {
            // 计算奇数个数的字符
            int len_1 = getLength(line, i, i);
            // 计算 偶数 个数的字符
            int len_2 = getLength(line, i, i + 1);

            len_1 = max(len_1, len_2);

            maxLen = max(len_1, maxLen);
        }

        cout << maxLen << endl;
    }

    return 0;
}
// 64 位输出请用 printf("%lld")