Потерянные биты
Костя обожает все натуральные числа, но особенно ему нравятся красивые числа. Он считает красивыми те числа, которые делятся на k.
Однажды Костя увидел в магазине красивое натуральное число n. Оно ему так понравилось, что он решил его купить и подарить своей маме. Однако, когда Костя вернулся домой, он обнаружил, что потерял некоторые биты этого числа, и оно превратилось в некрасивое число m. Помогите ему восстановить некоторые биты, чтобы число снова стало красивым. (Восстановление бита означает изменение бита с 0 на 1)
Входные данные
В первой строке вводятся два числа: m ≤ и k ≤ .
Выходные данные
В единственной строке нужно вывести число n. Если существует несколько вариантов, выберите наименьший возможный. Если сделать число красивым невозможно, выведите -1.
Примеры
Примечание
В первом примере m=4, что в двоичной системе записывается как 100. Есть три варианта восстановления битов:
• Восстановить младший бит. Тогда число станет 101[2]
= 5[10]
– не делится на 3.
• Восстановить средний бит. Тогда число станет 110[2]
= 6[10]
– делится на 3.
• Восстановить и младший, и средний биты. Тогда число станет 111[2]
= 7[10]
– не делится на 3.
Таким образом, единственным ответом будет число 6.