Statement is not available in English language
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