A firmware image is stored as a non-negative integer. Flashing rewrites it bit by bit: one operation flips a single bit (0 to 1 or 1 to 0). Given the current image a and the desired image b, report the minimum number of single-bit flips needed to transform a into b.
Input format
Line 1: two space-separated non-negative integers a and b.
Output format
A single integer: the minimum number of bit flips (the number of bit positions at which a and b differ).
Constraints
- 0 <= a <= 1000000000
- 0 <= b <= 1000000000