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() {
  long int n;
  cin >> n;
  vector<long int> pow16;
  long long int pow = 1;
  int i = 0;
  while (pow < n) {
    pow16.push_back(pow);
    pow *= 16;
    i++;
  }
  i--;
  int sum = 0;
  for (i; i >= 0; i--) {
    int a = n / pow16[i];
    n = n % pow16[i];
    if (a == 0 || a == 4 || a == 6 || a == 9 || a == 10 || a == 13) sum++;
    if (a == 8 || a == 11) sum += 2;
  }
  cout << sum;
}
