#include <iostream>
#include <vector>
#include <cmath>
using namespace std;

int main()
{
    string t;
    cin>>t;
    vector <int> slova_levo(26,0);
    vector <int> slova_desno(26,0);
    for(int i=0;i<t.length()/2;i++){
        slova_levo[t[i]-97]++;
    }
    for(int i=t.length()/2;i<t.length();i++){
        slova_desno[t[i]-97]++;
    }
    if(t.length()%2==1){
        int l=t.length()/2;
        int d=t.length()/2;
        for(int i=0;i<26;i++){
            int lprivremeni=t.length()/2;
            int dprivremeni=t.length()/2;
            if(abs(slova_levo[i]-slova_desno[i])==1){
                if(slova_levo[i]>slova_desno[i]){
                    for(int j=(t.length()/2)-1;j>=0;j--){
                        if(t[j]==i+97){
                            lprivremeni=j;
                            break;
                        }
                    }
                }
                else{
                    for(int j=t.length()/2;j<t.length();j++){
                        if(t[j]==i+97){
                            dprivremeni=j;
                            break;
                        }
                    }
                }
            }
            else{
                if(slova_levo[i]!=slova_desno[i]){
                    int prebacaj=abs(slova_levo[i]-slova_desno[i])/2;
                    if(slova_levo[i]>slova_desno[i]){
                        int br=0;
                        for(int j=lprivremeni-1;j>=0;j--){
                            if(t[j]==i+97){
                                br++;
                                if(br==prebacaj){
                                    lprivremeni=j;
                                    break;
                                }
                            }
                        }
                        dprivremeni+=prebacaj;
                        dprivremeni--;
                    }
                    else{
                        int br=0;
                        for(int j=dprivremeni+1;j<t.length();j++){
                            if(t[j]==i+97){
                                br++;
                                if(br==prebacaj){
                                    dprivremeni=j;
                                    break;
                                }
                            }
                        }
                        lprivremeni-=prebacaj;
                    }
                }
            }
            if(lprivremeni<l){
                l=lprivremeni;
            }
            if(dprivremeni>d){
                d=dprivremeni;
            }
        }//od ovde
        if(t.length()-d-1<l){
            int i=0,j=t.length()-1;
            while(true){
                if(t[i]!=t[j] && j>d){
                    d=j;
                    break;
                }
                else{
                    if(j==d){
                        break;
                    }
                    else{
                        j--;
                        i++;
                    }
                }
            }
        }
        else{
            int i=0,j=t.length()-1;
            while(true){
                if(t[i]!=t[j] && i<l){
                    l=i;
                    break;
                }
                else{
                    if(i==l){
                        break;
                    }
                    else{
                        j--;
                        i++;
                    }
                }
            }
        }
        cout<<d-l+1;
    }//do ovde
    else{
        int l=(t.length()/2)-1;
        int d=t.length()/2;
        for(int i=0;i<26;i++){
            int lprivremeni=(t.length()/2)-1;
            int dprivremeni=t.length()/2;
            if(slova_levo[i]!=slova_desno[i]){
                int prebacaj=abs(slova_levo[i]-slova_desno[i])/2;
                if(slova_levo[i]>slova_desno[i]){
                    int br=0;
                    for(int j=lprivremeni;j>=0;j--){
                        if(t[j]==i+97){
                            br++;
                            if(br==prebacaj){
                                lprivremeni=j;
                                break;
                            }
                        }
                    }
                    dprivremeni+=prebacaj;
                    dprivremeni--;
                }
                else{
                    int br=0;
                    for(int j=dprivremeni;j<t.length();j++){
                        if(t[j]==i+97){
                            br++;
                            if(br==prebacaj){
                                dprivremeni=j;
                                break;
                            }
                        }
                    }
                    lprivremeni-=prebacaj;
                    lprivremeni++;
                }
            }
            if(lprivremeni<l){
                l=lprivremeni;
            }
            if(dprivremeni>d){
                d=dprivremeni;
            }
        }
        if(t.length()-d-1<l){
            int i=0,j=t.length()-1;
            while(true){
                if(t[i]!=t[j] && j>d){
                    d=j;
                    break;
                }
                else{
                    if(j==d){
                        break;
                    }
                    else{
                        j--;
                        i++;
                    }
                }
            }
        }
        else{
            int i=0,j=t.length()-1;
            while(true){
                if(t[i]!=t[j] && i<l){
                    l=i;
                    break;
                }
                else{
                    if(i==l){
                        break;
                    }
                    else{
                        j--;
                        i++;
                    }
                }
            }
        }
        cout<<d-l+1;
    }
    return 0;
}