Робот с кодовым именем МАГД имеет тип $$$n$$$. Для подзарядки ему требуется устройство мощностью $$$p$$$, удовлетворяющее условиям:
$$$ p \ge n + 1 $$$ (иначе роботу не хватит мощности для подзарядки)
$$$ p \le n + k $$$ (иначе робот может сгореть)
Из всех подходящих мощностей $$$p$$$ нужно выбрать ту, при которой НОК($$$n$$$, $$$p$$$) минимален, чтобы аккумулятор робота прослужил как можно дольше. По заданным $$$n$$$ и $$$k$$$ требуется вычислить $$$p$$$.
НОК($$$a$$$,$$$b$$$) – это наименьшее общее кратное чисел $$$a$$$ и $$$b$$$, то есть наименьшее натуральное число, которое делится одновременно и на $$$a$$$, и на $$$b$$$.
Вводятся два числа $$$n$$$ и $$$k$$$, каждое в отдельной строке ($$$1 \le n \le 10^{12}$$$, $$$ 1 \le k \le 10^{12}$$$)
Требуется вывести число $$$p$$$ — искомую мощность устройства.
Каждый тест оценивается независимо. Тесты разбиты на группы, соответствующие следующим подзадачам:
| Подзадача | Дополнительные условия | Баллы |
| $$$1$$$ | $$$n \le 100, k \le 100$$$ | до 15 |
| $$$2$$$ | $$$n \le 10^5, k \le 10^5$$$ | до 15 |
| $$$3$$$ | $$$n \le 5 \cdot 10^7$$$ | до 30 |
| $$$4$$$ | — | до 40 |
64
9
1012
20
Обратите внимание, что входные данные и ответ могут выходить за пределы диапазона возможных значений 32-битной целочисленной переменной, поэтому необходимо использовать 64-битный целочисленный тип данных (тип int64 в языке Pascal, тип long long в C++, тип long в Java и C#). В языке Python ничего дополнительно делать не требуется.
| Название |
|---|


