using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Zadatak_3
{
    class Program
    {
        static bool mogucPalindrom(string ulaz)
        {
            int[] brojPonavljanjaZnakova = new int[(int)'z' - (int)'a'];
            for (int i = 0; i < ulaz.Length; i++)
            {
                brojPonavljanjaZnakova[ulaz[i] - 'a']++;
            }
            int brojNeparnihPonavljanja = 0;
            for (int i = 0; i < brojPonavljanjaZnakova.Length; i++)
            {
                if (brojPonavljanjaZnakova[i] % 2 != 0)
                    brojNeparnihPonavljanja++;

                if (brojNeparnihPonavljanja > 1)
                    return false;
            }

            return true;
        }
        static void Main(string[] args)
        {
            string ulaz = Console.ReadLine();

            int i = 0;
            int j = ulaz.Length - 1;

            while (i < j && ulaz[i] == ulaz[j])
            {
                i++; j--;
            }
            int minDuzina = 1;
            if (i < j)
                minDuzina = j - i + 1;
            if (minDuzina > 1)
                minDuzina--;
            Console.WriteLine(minDuzina);
        }
    }
}