import java.util.Scanner;
/**
* @author supermejane
* @date 2025/10/11 15:36
* @description
*/
public class Main {
//1.一开始看错题目,以为是min(a, b)为准,忽略max(a, b)更长的部分, 这道题直接a ^ b之后按照上一题的方法计算1的位数就行了
// 2.如果要以min(a, b)为准,把
// int big = Math.max(a, b);
// int cnt = 0;
// while (big > 0) {
// big >>= 1;
// cnt++;
// }
//替换为
// int small = Math.min(a, b);
// int cnt = 0;
// while (small > 0) {
// small >>= 1;
// cnt++;
// }
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int a = in.nextInt(), b = in.nextInt();
if (a == b) System.out.println(0);
else {
int big = Math.max(a, b);
int cnt = 0;
while (big > 0) {
big >>= 1;
cnt++;
}
int big2 = Math.max(a, b) & ((1 << cnt) - 1);
int n = big2 ^ Math.min(a, b);
int result = 0;
while (n > 0) {
result += n & 1;
n = n >> 1;
}
System.out.println(result);
}
}
}