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 IN() {
  int c, f, x;
  while (!isdigit(c = getchar()) && c != '-')
    ;
  c == '-' ? (f = 1, x = 0) : (f = 0, x = c - '0');
  while (isdigit(c = getchar())) x = (x << 1) + (x << 3) + c - '0';
  return !f ? x : -x;
}
int x, res;
void Work(int x) {
  if (x == 0 || x == 4 || x == 6 || x == 9 || x == 10 || x == 13) res++;
  if (x == 8 || x == 11) res += 2;
}
int main() {
  x = IN();
  if (x == 0) {
    puts("1");
    return 0;
  }
  for (; x; x /= 16) Work(x % 16);
  printf("%d\n", res);
}
