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 n;
int cnt;
char s[] = "0123456789ABCDEF";
int solve(int x) {
  cnt = 0;
  if (x == 0) return 1;
  while (x) {
    char c = s[x % 16];
    if (c == '0' || c == '4' || c == '6' || c == '9' || c == 'A' || c == 'D')
      ++cnt;
    if (c == '8' || c == 'B') cnt += 2;
    x /= 16;
  }
  return cnt;
}
int main() {
  while (~scanf("%d", &n)) {
    printf("%d\n", solve(n));
  }
}
