#arc060b. [arc060_b]Digit Sum

[arc060_b]Digit Sum

問題文

22 以上の整数 bb および 11 以上の整数 nn に対し、関数 f(b,n)f(b,n) を次のように定義します。

  • n<bn < b のとき f(b,n)=nf(b,n) = n
  • ngeqbn \\geq b のとき $f(b,n) = f(b,\\,{\\rm floor}(n / b)) + (n \\ {\\rm mod} \\ b)$

ここで、rmfloor(n/b){\\rm floor}(n / b)n/bn / b を超えない最大の整数を、 nrmmodbn \\ {\\rm mod} \\ bnnbb で割った余りを表します。

直感的に言えば、f(b,n)f(b,n) は、nnbb 進表記したときの各桁の和となります。 例えば、

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

などとなります。

整数 nnss が与えられます。 f(b,n)=sf(b,n)=s を満たすような 22 以上の整数 bb が存在するか判定してください。 さらに、そのような bb が存在するならば、その最小値を求めてください。

制約

  • 1leqnleq10111 \\leq n \\leq 10^{11}
  • 1leqsleq10111 \\leq s \\leq 10^{11}
  • n,,sn,\\,s はいずれも整数である

入力

入力は以下の形式で標準入力から与えられる。

nn ss

出力

f(b,n)=sf(b,n)=s を満たす 22 以上の整数 bb が存在するならば、そのような bb の最小値を出力せよ。 そのような bb が存在しないならば、代わりに -1 を出力せよ。


入力例 1

87654
30

出力例 1

10

入力例 2

87654
138

出力例 2

100

入力例 3

87654
45678

出力例 3

-1

入力例 4

31415926535
1

出力例 4

31415926535

入力例 5

1
31415926535

出力例 5

-1