import java.util.*;
public class Main {
public static void main(String[]args){
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
//整型转二进制
String str=Integer.toBinaryString(n);
int num=0;
int index=0;
while(index<str.length()){
int c=(int)str.charAt(index++);
if(c=='1'){
num++;
}
}
System.out.print(num);
sc.close();
}
};
import java.util.*;
public class Main {
private static String s="";
private static void get(int n){
if(n==0||n==1){
s+=n;
return ;
}
int n1=n/2;
int n2=n%2;
get(n1);
s+=n2;
return;
}
public static void main(String[]args){
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int num=0;
int index=0;
get(n);
while(index<s.length()){
int c=(int)s.charAt(index);
if(c=='1'){
num++;
}
index++;
}
System.out.print(num);
sc.close();
}
};