Ограничения: время – 250ms/500ms, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
Для борьбы с Баззом Лайтером злодей Зург использует роботов двух видов: рабочих и солдат. Каждый рабочий
строит ровно `X` других роботов (рабочих или солдат — как получится), а затем рассыпается от усталости.
Солдат же ничего не строит, а сразу поступает на вечную службу в армию Зурга. Злодей лично построил одного робота-рабочего, а когда
все рабочие рассыпались, у Зурга осталась армия из `Y` роботов-солдат.
Зург хочет понять, сколько деталей ушло на постройку роботов, но не очень хорошо владеет складским учетом. Определите по числам `X` и `Y`, могут ли они
быть корректными, и сколько всего роботов (рабочих и солдат) было построено?
Единственная строка ввода содержит два целых числа `X` и `Y` (`1 <= X,Y <= 10^18`).
Выведите одно неотрицательное целое число — общее количество построенных роботов (включая собранного Зургом первого рабочего),
если входные данные корректны и достаточны для его нахождения;
или `-1`, если Зург ошибся и указанное сочетание `X` и `Y` невозможно;
или `-2`, если существует несколько возможных ответов, удовлетворяющих условию задачи.
```sample Пример ввода 1
2 2023
```
```sample Пример вывода 1
4045
```
```sample Пример ввода 2
2023 2
```
```sample Пример вывода 2
-1
```