Задачі
Бітові рівняння
Бітові рівняння
Вам задано два натуральні числа \textbf{x} та \textbf{k}. Знайдіть \textbf{k}-ий найменший натуральний розв'язок \textbf{y} (значення \textbf{k} рахується з \textbf{1}) наступного рівняння:
\textbf{x} + \textbf{y} = \textbf{x} | \textbf{y}
Через '|' тут позначена побітова операція \textbf{OR}.
\InputFile
Кожний рядок є окремим тестом і містить два цілі числа \textbf{x} та \textbf{k (1 ≤ x},\textbf{ k ≤ 2*10^9)}.
\OutputFile
Для кожного тесту в окремому рядку вивести \textbf{k}-ий найменший натуральний розв'язок \textbf{y} вище наведеного рівняння.
Вхідні дані #1
5 1 5 5 10 3 1 1000000000
Вихідні дані #1
2 18 5 2000000000