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;
long long n, m, ans = 0;
inline void change(long long x) {
  if (x == 0) {
    ans = 1;
    return;
  }
  while (x > 0) {
    long long ret = x % 16;
    switch (ret) {
      case 0: {
        ans += 1;
        break;
      }
      case 1: {
        break;
      }
      case 2: {
        break;
      }
      case 3: {
        break;
      }
      case 4: {
        ans += 1;
        break;
      }
      case 5: {
        break;
      }
      case 6: {
        ans += 1;
        break;
      }
      case 7: {
        break;
      }
      case 8: {
        ans += 2;
        break;
      }
      case 9: {
        ans += 1;
        break;
      }
      case 10: {
        ans += 1;
        break;
      }
      case 11: {
        ans += 2;
        break;
      }
      case 12: {
        break;
      }
      case 13: {
        ans += 1;
        break;
      }
      case 14: {
        break;
      }
      case 15: {
        break;
      }
    }
    x = x / 16;
  }
  return;
}
int main() {
  cin >> n;
  change(n);
  cout << ans << endl;
  return 0;
}
