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 val[300];
int calc(int x) {
  if (x == 0) return 1;
  int ret = 0;
  while (x) {
    int d = x % 16;
    x /= 16;
    char c;
    if (d < 10)
      c = '0' + d;
    else
      c = 'A' + d - 10;
    ret += val[c];
  }
  return ret;
}
int main() {
  val['0'] = 1;
  val['1'] = 0;
  val['2'] = 0;
  val['3'] = 0;
  val['4'] = 1;
  val['5'] = 0;
  val['6'] = 1;
  val['7'] = 0;
  val['8'] = 2;
  val['9'] = 1;
  val['A'] = 1;
  val['B'] = 2;
  val['C'] = 0;
  val['D'] = 1;
  val['E'] = 0;
  val['F'] = 0;
  int x, i;
  scanf("%d", &x);
  cout << calc(x) << '\n';
}
