B. Злой гений
ограничение по времени на тест
1.5 секунд
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Злой гений имеет n конфет. Он хочет позвать на встречу $$$m$$$ друзей, и поделиться с ними конфетами поровну, чтобы после деления осталось ровно $$$k$$$ конфет. Процесс деления происходит следующим образом: Все друзья встают в круг, он дает по одной конфете каждому начиная с 1-го по $$$m$$$-го. Если конфет больше или равно $$$m$$$, он продолжает этот процесс. В итоге у него останется сколько-то конфет. Гений хочет, чтобы у него осталось ровно $$$k$$$ конфет. Гарантируется, что злой гений не жадный, то есть $$$n \gt k$$$.

Входные данные

В первой строке дано два целых числа, разделенных пробелами $$$n, k$$$ — количество конфет в начале и желаемый остаток конфет в конце.

Выходные данные

В единственной строке выведите ответ на задачу — количество друзей, которое надо позвать, чтобы после деления осталось ровно $$$k$$$ конфет. Если такое сделать невозможно, выведите $$$-1$$$.

Система оценки
Группа тестовДополнительные ограниченияБаллыНеобходимые группы
$$$n$$$$$$k$$$
$$$1$$$    $$$n \le 10^3$$$    $$$k \le 10^3$$$40—
$$$1$$$    $$$n \le 10^{12}$$$    $$$k \le 10^{12}$$$301
$$$2$$$    $$$n \le 10^{18}$$$    $$$k \le 10^{18}$$$30$$$2$$$

Обратите внимание, что для прохождения групп тестов ваша программа не обязана выдавать верный ответ на примерах из условия.

Примеры
Входные данные
10 3
Выходные данные
7
Входные данные
30 4
Выходные данные
13
Входные данные
66 3
Выходные данные
7