#include <iostream>

using namespace std;

bool Palindrom(string s)
{
    int n=s.length();
    for (int i=0; i<n; i++)
    {
        if (s[i]!=s[n-i-1])
        {
            return false;
        }
    }
    return true;
}

int main()
{
    string s,b;
    cin>>s;
    int n=s.length();
    int k=0;
    if (Palindrom(s))
    {
        cout<<1;
    }
    else
    {
        while (s[k]==s[n-k-1])
        {
            k++;
        }
        int f=0;
        for (int i=k; i<n-k-2; i++)
        {
            int pr=f;
            for (int j=i+1; j<n-k-1; j++)
            {
                if (s[i]==s[j])
                {
                    f++;
                    break;
                }
            }
            if (pr==f)
            {
                break;
            }
        }
        int g=0;
        for (int i=n-k-1; i>=k+1; i--)
        {
            int pr=g;
            for(int j=i-1; j>=k; j--)
            {
                if (s[i]==s[j])
                {
                    g++;
                    break;
                }
            }
            if (pr==g)
            {
                break;
            }
        }
        if (f>=g)
        {
            cout<< (n-2*k-f);
        }
        else
        {
            cout<< (n-2*k-g);
        }
    }
}