#AT1012. D - Digit Sum

D - Digit Sum

当前没有测试数据。

D - Digit Sum

Score : $500$ points

Problem Statement

For integers $b (b \geq 2)$ and $n (n \geq 1)$, let the function $f(b,n)$ be defined as follows:

  • $f(b,n) = n$, when $n < b$
  • $f(b,n) = f(b,\,{\rm floor}(n / b)) + (n \ {\rm mod} \ b)$, when $n \geq b$

Here, ${\rm floor}(n / b)$ denotes the largest integer not exceeding $n / b$, and $n \ {\rm mod} \ b$ denotes the remainder of $n$ divided by $b$.

Less formally, $f(b,n)$ is equal to the sum of the digits of $n$ written in base $b$. For example, the following hold:

  • $f(10,\,87654)=8+7+6+5+4=30$
  • $f(100,\,87654)=8+76+54=138$

You are given integers $n$ and $s$. Determine if there exists an integer $b (b \geq 2)$ such that $f(b,n)=s$. If the answer is positive, also find the smallest such $b$.

Constraints

  • $1 \leq n \leq 10^{11}$
  • $1 \leq s \leq 10^{11}$
  • $n,\,s$ are integers.

Input

The input is given from Standard Input in the following format:

nn

ss

Output

If there exists an integer $b (b \geq 2)$ such that $f(b,n)=s$, print the smallest such $b$. If such $b$ does not exist, print -1 instead.


87654
30
10

87654
138
100

87654
45678
-1

31415926535
1
31415926535

1
31415926535
-1