eolymp
bolt
Try our new interface for solving problems
Məsələlər

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

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

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

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

Вхідні дані:

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

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

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

Пояснення:

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

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

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

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

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

Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 64 MiB
Giriş verilənləri #1
4 3
Çıxış verilənləri #1
6
Giriş verilənləri #2
39 6
Çıxış verilənləri #2
-1
Giriş verilənləri #3
9 3
Çıxış verilənləri #3
9
Müəllif Жуковський Сергій Станіславович
Mənbə Джерело Серія задач "Абетка програмування"