#include <bits/stdc++.h>
using namespace std;
struct pair_hash {
  template <typename T1, typename T2>
  size_t operator()(const pair<T1, T2> &p) const {
    auto h1 = hash<T1>{}(p.first);
    auto h2 = hash<T2>{}(p.second);
    return h1 ^ h2;
  }
};
const long long INFLL = 2 * (long long)1e18 + 100;
const int INFINT = 2 * (int)1e9 + 100;
void die() {
  cout << "-1\n";
  exit(0);
}
const int NMAX = 2 * 1e5 + 5;
const int MOD = 1e9 + 7;
const double PI = atan(1) * 4;
const double EPS = 1e-12;
const int seed = 1e3 + 7;
string s;
int par[NMAX][30];
int modif[30];
int stop = -1, sol;
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> s;
  if (s.size() == 1) return cout << 1, 0;
  for (int i = 0; i < s.size(); i++) {
    if (i == 0) {
      par[0][s[i] - 'a'] = 1;
      continue;
    }
    for (int j = 0; j < 30; j++) par[i][j] = par[i - 1][j];
    par[i][s[i] - 'a'] ^= 1;
  }
  for (int j = 0; j < 30; j++)
    if (par[s.size() - 1][j] == 1) sol++;
  cout << max(sol, 1);
  return 0;
}
