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;
char s[900000];
int j;
void change_10_to_any(int old, int type) {
  j = 0;
  if (old) {
    change_10_to_any(old / type, type);
    s[j++] = old % type > 9 ? old % type - 10 + 'A' : old % type + '0';
  }
}
int main() {
  int a;
  while (cin >> a) {
    change_10_to_any(a, 16);
    int ans = 0;
    int len = strlen(s);
    for (int i = 0; i < len; ++i) {
      if (s[i] == '0' || s[i] == 'A' || s[i] == 'D' || s[i] == '4' ||
          s[i] == '6' || s[i] == '9')
        ans += 1;
      else if (s[i] == 'B' || s[i] == '8')
        ans += 2;
    }
    cout << ans << endl;
  }
  return 0;
}
