Для целых чисел
b ( b >= 2 ) и
n ( n >= 1 ) пусть функция
f(b, n) определяется следующим образом:
\(f (b, n) = n, когда\ n < b \\
f (b, n) = f (b, floor (n / b)) + (n \ mod \ b), когда \ n >= b\)
Здесь
floor(n / b) обозначает наибольшее целое число, не превышающее
n / b;
n mod b обозначает остаток от
n, деленный на
b.
Менее формально
f(b, n) равно сумме цифр
n, записанных в базе
b. Например, справедливо следующее:
\(f (10,87654) = 8 + 7 + 6 + 5 + 4 = 30\\
f (100,87654) = 8 + 76 + 54 = 138\)
Вам даны целые числа
n и
s. Определите, существует ли целое число
b (b >= 2) такое, что
f(b, n) = s. Если ответ положительный, найдите наименьшее из таких
b.
Входные данные
В первой строке вводится целое число
n (1 <= n <= 10
11). Во второй строке - целое число
s (1 <= s <= 10
11).
Выходные данные
Выведите ответ на задачу. Если ответа нет, то выведите
-1.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
87654
30 |
10 |
| 2 |
87654
138 |
100 |
| 3 |
87654
45678 |
-1 |
| 4 |
31415926535
1 |
31415926535 |
| 5 |
1
31415926535 |
-1 |