143165576
 1919020031
 1204252996
 210637432
 724264821
 1741
 619489590
 1199537418
 1075765759
 747976826
 638486017
 58438190
 1285316221
 186925426
 1180540990
 833393692
 1818960378
 2000000000
 0
 1309028227
 514714359
 624205168
 1795248373
 643201595
 1304312649

14 3 3 4 5 2 4 4 2 4 6 4 3 4 5 3 5 4 1 5 3 4 5 5 8
#include <bits/stdc++.h>
using namespace std;
int j, i, s, k, a[100000], y, x, b[100000], l, h, ans;
string st;
int main() {
  x = 10;
  cin >> st;
  l = 16;
  j = 0;
  for (i = st.size() - 1; i >= 0; i--) {
    if (st[i] >= 'A' && st[i] <= 'Z')
      a[++j] = st[i] - 55;
    else if (st[i] >= '0' && st[i] <= '9')
      a[++j] = st[i] - 48;
  }
  y = 1;
  for (i = 1; i <= j; i++) {
    s = s + a[i] * y;
    y = y * x;
  }
  i = 0;
  do {
    i++;
    b[i] = s % l;
    s /= l;
  } while (s > 0);
  h = i;
  j = 0;
  for (i = h; i >= 1; i--) {
    if (b[i] >= 10) {
      if (char(b[i] + 55) == 'A' || char(b[i] + 55) == 'D')
        ans++;
      else {
        if (char(b[i] + 55) == 'B') ans += 2;
      }
    } else if (b[i] == 0 || b[i] == 4 || b[i] == 6 || b[i] == 9)
      ans++;
    else if (b[i] == 8)
      ans += 2;
  }
  cout << ans;
  return 0;
}
