using System;

namespace Takmicenje_2___18._12._2021_
{
    class Program
    {
        static int min = 0;
        static void Min(string s)
        {
            bool provera = true;
            //int cuvar = 0;
            int sredina = 1; //ako je prvo sledece sredina
            for (int i=0;i<s.Length/2;i++)
            {
                if (s[i] != s[s.Length - i - 1]) min++;
                else
                {
                    for (int k=i+1;k<s.Length/2;k++)
                    {
                        if (s[k] != s[s.Length - k - 1]) provera = false;
                    }
                    if (!provera) min++;
                    else
                    {
                        if (i+1 == s.Length / 2) sredina = -1;
                        break;
                    }
                }
            }
            min += sredina;
        }
        /*static void Min(string s)
        {
            int d = s.Length - 1;
            bool provera = false;
            int pocetak = 0;
            int kraj = d;
            int cuvar = 0;
            for (int i=0;i<s.Length/2;)
            {
                if (s[i] == s[d])
                {
                    i++;
                    d--;
                    kraj = d;
                }
                else
                {
                    for (int j = i + 1; j <= d; j++)
                    {
                        if (s[i] == s[j]) { provera = true; cuvar = j; }
                    }
                    if (provera) //nije jedinsstven
                    {
                        if (pocetak < cuvar) pocetak = cuvar;
                    }
                    else
                    {
                        pocetak = i;
                    }
                }
            }
            if 
        }*/
            static void Main(string[] args)
        {
            string s = Console.ReadLine();
            Min(s);
            Console.WriteLine(min);
        }
    }
}