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

Загублені біти

Загублені біти

Костя полюбляє всі натуральні числа, але гарні числа – його найулюбленіші. Гарними числами він вважає числа, які націло діляться на k.

Одного разу Костя побачив в крамниці гарне натуральне число n. Йому воно так сподобалося, що він вирішив його купити та подарувати своїй мамі. Але коли Костя прийшов додому він побачив, що десь загубив деякі біти цього числа і воно стало негарним числом m. Допоможіть йому відновити деякі біти, щоб число знову стало гарним. (Відновити біт – це змінити біт з 0 на 1)

Вхідні дані:

В першому рядку вводиться два числа: m ≤ $10^6$ та k ≤ $10^6$.

Вихідні дані:

В єдиному рядку потрібно вивести число n. Якщо варіантів декілька, потрібно вивести найменший можливий варіант. Якщо число зробити гарним неможливо, виведіть -1.

Пояснення:

В першому прикладі m=4, тобто у двійковій системі числення воно записується як 100. Є три варіанти, які біти відновити:

• Відновити молодший біт. Тоді число стане 1012 = 510 – не ділиться на 3.

• Відновити середній біт. Тоді число стане 1102 = 610 – ділиться на 3.

• Відновити і молодший, і середній біти. Тоді число стане 1112=710 – не ділиться на 3.

Таким чином, єдиною відповіддю буде число 6.

Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
4 3
Вихідні дані #1
6
Вхідні дані #2
39 6
Вихідні дані #2
-1
Вхідні дані #3
9 3
Вихідні дані #3
9