using System;
using System.Linq;

namespace Kvalifikacije_2
{
    class PalindromSafl
    {
        static void Main()
        {
            //Korak 1 - ucitavamo string t

            string t = Console.ReadLine();

            //Korak 2 - proveravamo da li je string t vec palindrom i ako jeste ispisujemo 1

            if (t.Equals(t.Reverse())) {
                Console.WriteLine(1);
            }

            //ako string t nije palindrom uporedjujemo redom (i) i (n-1-i) slovo tog stringa 
            //prvi put kada su razlicita slova cuvamo kao kraj nase podniske index n - 1 - i
            //sledeci put kada slova budu razlicita cuvamo index i kao pocetak podniske
            //ispisujemo razliku za kraj i pocetak podniske i dodajemo joj 1(zato sto se broji i prvo slovo)

            else {
                int n = t.Length;
                int iPocetak = -1;
                int iKraj = -1;
                bool prvoRazlicito = true;
                bool trazi = true;
                for(int i = 0; i < n / 2 && trazi; i++) {
                    if (t[i] != t[n - 1 - i]) {
                        if (prvoRazlicito) {
                            iKraj = n - 1 - i;
                            prvoRazlicito = false;
                        }
                        else {
                            iPocetak = i;
                            trazi = false;
                        }
                    }
                }
                int duzina = iKraj - iPocetak + 1;
                Console.WriteLine(duzina);
            }
        }
    }
}