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>
int holes;
void search(int now) {
  if (now == 6) {
    ++holes;
  } else if (now == 8) {
    holes += 2;
  } else if (now == 9) {
    ++holes;
  } else if (now == 10) {
    ++holes;
  } else if (now == 11) {
    holes += 2;
  } else if (now == 13) {
    ++holes;
  } else if (now == 0) {
    ++holes;
  } else if (now == 4) {
    ++holes;
  }
}
int main() {
  long long n;
  int now;
  scanf("%lld", &n);
  holes = 0;
  now = n % 16;
  search(now);
  while (n > 0) {
    n /= 16;
    now = n % 16;
    search(now);
  }
  printf("%d\n", --holes);
  return 0;
}
