m, n = map(int, input().split())
count = 0
i=0
#法1:
# # 循环条件改为:m和n右移i位后至少一个不为0(遍历所有有效位)
# while (m >> i) != 0 or (n >> i) != 0:
#     # 提取m、n第i位的二进制值(0或1)
#     bit_m = (m >> i) & 1
#     bit_n = (n >> i) & 1
#     if bit_m != bit_n:  # 直接判断两位是否不同,更直观
#         count += 1
#     i += 1
# print(count)
#法2:
# xor = m^n
# while xor:
#     #统计异或中1的个数
#     count+=xor&1
#     xor=xor>>1
# print(count)
#法3:内置函数
print(bin(m^n).count("1"))