#include<iostream>
#include<unordered_map>
using namespace std;
int n;
unordered_map<int,int>m;
int main(){
m[0]=m[4]=m[6]=m[9]=m[10]=m[13]=1; //0,4,6,9,A,D
m[8]=m[11]=2; //8,B
cin>>n;
if(n){
int ans=0;
while(n){
ans+=m[n%16];
n/=16;
}
cout<<ans;
}else cout<<1;
return 0;
}