Home


Contest: Task: Related: TaskA TaskC

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:

$n$
$s$

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.


Sample Input 1

87654
30

Sample Output 1

10

Sample Input 2

87654
138

Sample Output 2

100

Sample Input 3

87654
45678

Sample Output 3

-1

Sample Input 4

31415926535
1

Sample Output 4

31415926535

Sample Input 5

1
31415926535

Sample Output 5

-1