        #include <bits/stdc++.h>
        using namespace std;
        #define int long long
const int MAX = 510000;
const int MOD = 1000000007;


set<int> k[1<<(1+('z'-'a'))];
        signed main() {
     string s;
     cin>>s;
        int b=0;
        for(int i=0;i<s.size();i++){
                b^=1<<(s[i]-'a');
                k[b].insert(i);
        }
        set<int> used;
        queue<pair<int,int>> que,que2;
        int count=0;
        que.push(make_pair(-1,0));
          used.insert(0);
        while(true){
                if(que.empty()){
                        swap(que,que2);
                        count++;
                }
                if(b==que.front().second){
                        cout<<max(1ll,count);
                        return 0;
                }
                for(int i=0;i<='z'-'a';i++){
                        if(used.find(que.front().second^(1<<i))==used.end()){
                               used.insert(que.front().second^(1<<i));
                               
                                auto it=k[que.front().second^(1<<i)].lower_bound(que.front().first);
                                if(it!=k[que.front().second^(1<<i)].end())que2.push(make_pair(*it,que.front().second^(1<<i)));
                        }
                }
                que.pop();
        }

      
        


      }


        
