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 main() {
  ios::sync_with_stdio(false);
  int a[] = {1, 0, 0, 0, 0, 0, 1, 0, 2, 1, 1, 2, 0, 1, 0, 0, 0};
  long int decimalNumber, remainder, quotient;
  int i = 0, j, temp;
  char hexadecimalNumber[100];
  for (long long int i = (0); i < (long long int)(100); ++i)
    hexadecimalNumber[i] = 0;
  cin >> decimalNumber;
  quotient = decimalNumber;
  if (quotient == 0) {
    i++;
  }
  while (quotient != 0) {
    temp = quotient % 16;
    hexadecimalNumber[i++] = temp;
    quotient = quotient / 16;
  }
  long long int res = 0;
  for (int j = 0; j < i; ++j) {
    int c = (int)hexadecimalNumber[j];
    res += a[c];
  }
  cout << res << endl;
  return 0;
}
