defmodule Main do def input, do: IO.read(:line) |> String.trim def ii, do: input() |> String.to_integer def li, do: input() |> String.split |> Enum.map(&String.to_integer/1) def yn(b), do: IO.puts(if b, do: "Yes", else: "No") def comma(x) do s = Integer.to_string(x) |> String.graphemes {a, b} = Enum.split(s, rem(length(s), 3)) [a] ++ (b |> Enum.chunk_every(3)) |> Enum.join(",") |> String.trim_leading(",") end def bin(x), do: :io_lib.format("~.2b", [x]) import Bitwise def main do [a, b] = li() cond do a == b -> 1 band(a, b) == a -> cnt = bit_count(bxor(a, b)) div(2 ** cnt, 2) true -> 0 end |> IO.puts end def bit_count(0), do: 0 def bit_count(x) do if (x &&& 1) == 1 do 1 + bit_count(x >>> 1) else bit_count(x >>> 1) end end end