#include <bits/stdc++.h>
using namespace std;
bool isPalindrome(string str) {
  int n = str.size();
  for (int i = 0; i < n / 2; i++)
    if (str.at(i) != str.at(n - i - 1)) return false;
  return true;
}
int maxLengthNonPalinSubstring(string str) {
  int n = str.size();
  char ch = str.at(0);
  int i = 1;
  for (i = 1; i < n; i++)
    if (str.at(i) != ch) break;
  if (i == n) return 0;
  if (isPalindrome(str)) return n - 1;
  return n;
}
long long int func(string s, long long int i, long long int j) {
  if (i > j) return 0;
  if (i == j) return 1;
  if (s[i] == s[j]) {
    return max(func(s, i + 1, j), func(s, i, j - 1));
  }
  return 2 + func(s, i + 1, j - 1);
}
int main() {
  string s;
  cin >> s;
  long long int ans = maxLengthNonPalinSubstring(s);
  if (ans == 1)
    cout << 0;
  else
    cout << ans;
}
