#include <bits/stdc++.h>
using namespace std;
int main() {
  long long a;
  cin >> a;
  if (a == 0) {
    cout << 1;
    return 0;
  }
  string ans;
  map<char, int> mp;
  mp['0'] = 1;
  mp['1'] = 0;
  mp['2'] = 0;
  mp['3'] = 0;
  mp['4'] = 1;
  mp['5'] = 0;
  mp['6'] = 1;
  mp['7'] = 0;
  mp['8'] = 2;
  mp['9'] = 1;
  mp['A'] = 1;
  mp['B'] = 2;
  mp['C'] = 0;
  mp['D'] = 1;
  mp['E'] = 0;
  mp['F'] = 0;
  while (a != 0) {
    int ost = a % 16;
    ans += (a % 16 < 10) ? to_string(a % 16) : "";
    if (ost >= 10) {
      ans += (char)('A' + ost - 10);
    }
    a /= 16;
  }
  long long answ = 0;
  for (auto i : ans) {
    answ += mp[i];
  }
  cout << answ;
}
