#include <iostream>
using namespace std;

int main() {
    string s;
    int re = 0;
    getline(cin, s);

    int dp[2501][2501];
    for (int i = 0; i < s.length(); i++)
    {
        for (int j = 0; j <= i; j++)
        {
            if (i == j)
                dp[i][j] = 1;
            else if (i - j == 1 && s[i] == s[j])
                dp[i][j] = 1;
            else if (i - j > 1)
            {
                if (dp[i-1][j+1] && s[i] == s[j])
                    dp[i][j] = 1;
            }
            if (dp[i][j] == 1)
                re = max(i - j + 1, re);
        }
    }
    cout << re;

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