A, B = gets.split(" ").map{|s| s.to_i} def bitCount(bits) bits = (bits & 0x55555555) + ((bits >> 1) & 0x55555555) bits = (bits & 0x33333333) + ((bits >> 2) & 0x33333333) bits = (bits & 0x0f0f0f0f) + ((bits >> 4) & 0x0f0f0f0f) bits = (bits & 0x00ff00ff) + ((bits >> 8) & 0x00ff00ff) (bits & 0x0000ffff) + ((bits >> 16) & 0x0000ffff) end if A & B != A then puts 0 else n = bitCount(A ^ B) if n < 2 then puts 1 else puts 2**(n-1) end end