eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Бітові рівняння

Бітові рівняння

Вам задано два натуральні числа \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 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
5 1
5 5
10 3
1 1000000000
Вихідні дані #1
2
18
5
2000000000