#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
        ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);

        string niska;

        cin >> niska;
        int n = niska.length(), res = n, a = -1, temp1, temp2;

        for(int i = 0; i < n / 2; i++){
            if(niska[i] != niska[n - i - 1]){
                a = i;
                break;
            }
        }

        if(a == -1){
            cout << "1";
            return 0;
        }

        int res1 = n - 2 * a, res2 = res1;
        unordered_map<char, int> unutra, levo, desno;
        for(int i = a; i < n - a; i++) unutra[niska[i]]++;
        for(int i = a; i < n - a; i++){
            levo[niska[i]]++;
            temp1 = levo[niska[i]];
            temp2 = unutra[niska[i]];
            if(temp2 - temp1 < temp1) break;
            res1--;
        }
        for(int i = a; i < n - a; i++){
            desno[niska[i]]++;
            temp1 = desno[niska[i]];
            temp2 = unutra[niska[i]];
            if(temp2 - temp1 < temp1) break;
            res2--;
        }

        cout << min(res1, res2) << "\n";
        return 0;
}