import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNextInt()) {
int a = sc.nextInt();
int count = 0;
// 直接计算a的二进制表示中1的个数
while (a > 0) {
count += a & 1; // 检查最低位是否为1
a >>= 1; // 右移一位
}
System.out.println(count);
}
sc.close(); // 关闭Scanner对象以释放资源
}
}
//原始暴力代码
import java.util.Scanner;
public class HJ62 {
public static void main(String[] args) {
System.out.println();
Scanner sc = new Scanner(System.in);
while (sc.hasNextInt()) {
int a=sc.nextInt();
int [] arr=new int [a];
int i=0;
while(a>=1){
arr[i]=a%2;
a=a/2;
i++;
}
int count=0;
for(int j=0;j<i;j++){
if(arr[j]==1){
count ++;
}
}
System.out.println(count);
}
}
}