#include <bits/stdc++.h>

#define MAXN 200200

using namespace std;

char nizic[MAXN];
int n,levo[26],desno[26];

void citaj()
{
    char c;
    while(true)
    {
        cin>>c;
        if(c == '\n')
        {
            break;
        }
        nizic[n++]=c;
    }
}

void prebroj(int l,int d)
{
    for(int i=0;i<26;i++)
    {
        desno[i]=0;
        levo[i]=0;
    }
    for(int i=l;i<=d;i++)
    {
        desno[nizic[i] - 'a']++;
    }
}

int main()
{
    citaj();
    int l=0,d=n-1;
    while(l<d && nizic[l]==nizic[d])
    {
        l++;
        d--;
    }
    prebroj(l,d);
    int t = l;
    while(desno[nizic[l] - 'a']-1 >= levo[nizic[l] - 'a']+1)
    {
        desno[nizic[l] - 'a']--;
        levo[nizic[l] - 'a']++;
        l++;
    }
    int res=d-l;
    prebroj(t,d);
    while(desno[nizic[d] - 'a']-1 >= levo[nizic[d] - 'a']+1)
    {
        desno[nizic[d] - 'a']--;
        levo[nizic[d] - 'a']++;
        d--;
    }
    if(res>d-t)
        cout<<d-t+1;
    else
        cout<<res+1;
    return 0;
}