#include <bits/stdc++.h>
using namespace std;
int p[22000005];
int main() {
string s = "-*"; char c; while(cin >> c) s = s + c + '*';
int n = s.size() - 1; int r = 0, mid = -1; for(int i = 1;i <= n;i++) {
p[i] = (i > r ? 1 : min(mid*2-i, r-i+1));
while(s[i+p[i]] == s[i-p[i]]) p[i]++;
if((i + p[i]) > r) { r = i + p[i]; mid = i; }
} cout << *max_element(p+1, p+n+1) - 1 << endl;
return 0;
}