using System;

class Program {
  public static bool Nadjen1(int i1, int i2, string s){
    for(int i = i1+1; i<=i2; i++){
      if(s[i1] == s[i]) return true;
    }
    return false;
  }
  public static bool Nadjen2(int i1, int i2, string s){
    for(int i = i2-1; i1<=i; i--){
      if(s[i2] == s[i]) return true;
    }
    return false;
  }
  public static void Main (string[] args) {
    string s = Console.ReadLine();
    int i1 = 0;
    int i2 = s.Length - 1;
    while (i1 < i2 && s[i1] == s[i2]){
      i1++;
      i2--;
      if(i1 == i2 || Math.Abs(i2 - i1) == 1) break;
    }
    //ako vrednost i1 ima i posle, ali ne posle i2, uvecaj i1 dokle može
    while(Nadjen1(i1, i2, s)) i1++;
    //ako vreenost i2 ima i pre, ali ne i pre i1, umanjuj i2 dokle može
    while(Nadjen2(i1, i2, s)) i2--;
    Console.WriteLine(Math.Max(i1,i2) - Math.Min(i1,i2) +1);
  }
}