#include<bits/stdc++.h>
using namespace std;
typedef long long ll;

string s;
ll dp[1 << 20];
ll n;
ll mark[1 << 20];

ll solve(ll index){
    if(index == n){
        return 0;
    }
    if(dp[index] != -1){
        return dp[index];
    }
    ll hash1[26];
    memset(hash1,0,sizeof hash1);
    ll ans = 10000000000000ll;
    for(ll i = index;i < n;i++){
        hash1[s[i] - 'a']++;
        ll cnt = 0;
        for(ll j = 0;j < 26;j++){
            if(hash1[j]%2){
                cnt++;
            }
        }
        if(cnt <= 1 and mark[i+1]){
            ans = min(ans,1+solve(i+1));
        }
    }
    return dp[index] = ans;
}

int main(){
    cin >> s;
    n = s.size();
    memset(dp,-1,sizeof dp);
    ll hash1[26];
    memset(hash1,0,sizeof hash1);
    ll ans = 10000000;
    for(ll i = 0;i < m;i++){
        hash1[s[i] - 'a']++;
        ll cnt = 0;
        for(ll j = 0;j < 26;j++){
            if(hash1[j]%2){
                cnt++;
            }
        }
        mark[i] = cnt;
    }
    cout << mark[n-1];
    //cout << solve(0);
}
