#include <bits/stdc++.h>
using namespace std;
constexpr long long INF = 1e18;
template <class T>
inline bool CHMAX(T &a, T b) {
  if (a < b) {
    a = b;
    return true;
  }
  return false;
}
template <class T>
inline bool CHMIN(T &a, T b) {
  if (a > b) {
    a = b;
    return true;
  }
  return false;
}
vector<vector<long long> > calcNext(const string &S) {
  long long n = (long long)S.size();
  vector<vector<long long> > res(n + 1, vector<long long>(26, n));
  for (long long i = n - 1; i >= 0; --i) {
    for (long long j = 0; j < 26; ++j) res[i][j] = res[i + 1][j];
    res[i][S[i] - 'a'] = i;
  }
  return res;
}
signed main() {
  string s;
  cin >> s;
  vector<long long> v(26, 0);
  for (long long i = (0); i < (long long)(s.size()); i++) {
    v[s[i] - 'a']++;
  }
  long long ans = 0;
  for (long long i = (0); i < (long long)(v.size()); i++) {
    ans += v[i] % 2;
  }
  cout << max(1ll, ans) << endl;
}
