#include <iostream>
#include <string>
#include <algorithm>
using namespace std;

/*
中心扩展法:。用两个指针i和j,分别向前和向后遍历,如果两个指针的值不同,则停止遍历,如果相同,则代表一个回文字符串的诞生,继续遍历,直到边界。
*/
int CenterExtension(string strIn, int l, int r)
{
    while(l >= 0 && r < strIn.size() && strIn[l] == strIn[r]) {
        l--;
        r++;
    }
    return r - l -1;
}

/*
思路:前后遍历,如果指针指向的值不相等,则结束,根据奇偶性,获取长度,比较长度大小,取较大值。
*/
int KeyInterceptLen(string strIn)
{
    int strInLen = strIn.length();
    int maxValue = 0;
    //根据奇数与偶数,i < strInLen - 1
    for(int i = 0; i < strInLen - 1; i++) {
        int oddNum = CenterExtension(strIn, i, i); //偶数
        int evenNum = CenterExtension(strIn, i, i+1); //奇数
        maxValue = max(max(oddNum, evenNum), maxValue);
    }
    return maxValue;
}


int main()
{
    string strIn;
    while(getline(cin, strIn)) {
        cout<<KeyInterceptLen(strIn)<<endl;
    }
}