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;
string transform(int x, int y, string s) {
  string res = "";
  int sum = 0;
  for (int i = 0; i < s.length(); ++i) {
    if (s[i] == '-') continue;
    if (s[i] >= '0' && s[i] <= '9') {
      sum = sum * x + s[i] - '0';
    } else {
      sum = sum * x + s[i] - 'A' + 10;
    }
  }
  while (sum) {
    char tmp = sum % y;
    sum /= y;
    if (tmp <= 9) {
      tmp += '0';
    } else {
      tmp = tmp - 10 + 'A';
    }
    res = tmp + res;
  }
  if (res.length() == 0) res = "0";
  if (s[0] == '-') res = '-' + res;
  return res;
}
int b[16] = {1, 0, 0, 0, 1, 0, 1, 0, 2, 1, 1, 2, 0, 1, 0, 0};
int main() {
  string s;
  while (cin >> s) {
    string res = transform(10, 16, s);
    int len = res.length();
    long long ans = 0;
    for (int i = 0; i < len; i++) {
      if (res[i] <= '9' && res[i] >= '0')
        ans += b[res[i] - '0'];
      else
        ans += b[res[i] - 'A' + 10];
    }
    cout << ans << endl;
  }
  return 0;
}
