using System;
using System.Text;
using System.Diagnostics;
using System.IO;
using System.Collections.Generic;
using System.Linq;

class cppboljiodcs
{
    static string vratiPalindrom(string str)
    {

        int n = str.Length;
        char[] s = str.ToCharArray();

        for (int i = 0; i < n / 2; i++)
        {
            int levo = i;

            int desno = n - levo - 1;
            while (levo < desno)
            {
                if (s[levo] == s[desno])
                {
                    break;
                }
                else
                {
                    desno--;
                }
            }
            for (int j = desno; j < n - levo - 1; j++)
            {
                char t = s[j];
                s[j] = s[j + 1];
                s[j + 1] = t;
            }
            
        }

        string povratak = new string(s);

        return povratak;
    }
    static void Main()
    {
        string unos = Console.ReadLine();

        string s = vratiPalindrom(unos);

        int pocetniIndex = 0;
        for (int i = 0; i < s.Length; i++)
        {
            if(unos[i]!=s[i])
            {
                pocetniIndex = i;
                break;
            }
        }

        int krajnjiIndex = 0;
        for (int i = s.Length-1; i > 0; i--)
        {
            if (unos[i] != s[i])
            {
                krajnjiIndex = i;
                break;
            }
        }

        Console.WriteLine(Math.Abs(pocetniIndex - krajnjiIndex)+1);
    }
}