#include <bits/stdc++.h>

using namespace std;

bool provera(vector<int> & brojevi1, vector<int> & brojevi2)
{
    bool ok=true;
    for(int i=0;i<26;i++)
    {
        if(brojevi2[i]-brojevi1[i]>0)
            ok=false;
    }
    return ok;
}
int main()
{
    string s;
    cin>>s;
    int n=s.size();
    int niz[26]={0};
    for(int i=0;i<n;i++)
    {
        niz[int(s[i])-int('a')]++;
    }
    int kur=0;
    for(int i=0;i<26;i++)
    {
        if(niz[i]%2==1)
            kur=i+int('a');
    }
    for(int i=0;i<n;i++)
    {
        if(s[i]==s[n-1-i])
        {
            s[i]='.';
            s[n-1-i]='.';
        }
        if(s[i]!=s[n-1-i])
            break;
    }
    if(n%2==0)
    {
        int id=0;
        while(s[n/2+id]==s[n/2-1-id])
        {
            s[n/2+id]='.';
            s[n/2-1-id]='.';
            id++;
        }
    }
    if(n%2==1 && s[n/2]==char(kur))
    {
        s[n/2]='.';
        int id=1;
        while(s[n/2+id]==s[n/2-id])
        {
            s[n/2+id]='.';
            s[n/2-id]='.';
            id++;
        }
    }
    vector<char> v;
    for(int i=0;i<n;i++)
    {
        if(s[i]!='.')
            v.push_back(s[i]);
    }
    if(v.size()==0)
    {
        cout<<1;
        return 0;
    }
    int mid=(v.size())/2;
    int N=v.size();
    vector<int> brojevi1(26);
    vector<int> brojevi2(26);
    for(int i=0;i<mid;i++)
    {
        brojevi1[int(v[i])-int('a')]++;
    }
    for(int i=mid;i<n;i++)
    {
        brojevi2[int(v[i])-int('a')]++;
    }
    if(provera(brojevi1,brojevi2) || provera(brojevi2,brojevi1))
    {
        cout<<max(mid,N-mid);
        return 0;
    }
    else
    {
        int s=mid;
        while(!provera(brojevi1,brojevi2) && !provera(brojevi2,brojevi1))
        {
            int ind=int(v[s])-int('a');
            brojevi1[ind]++;
            brojevi2[ind]--;
            s++;
        }
        int l=mid-1;
        while(!provera(brojevi1,brojevi2) && !provera(brojevi2,brojevi1))
        {
            int ind=int(v[l])-int('a');
            brojevi1[ind]--;
            brojevi2[ind]++;
            l--;
        }
        cout<<min(N-l,s);
        return 0;
    }
    return 0;
}