#include <bits/stdc++.h>
using namespace std;
int main() {
  long long n, s;
  scanf("%lld%lld", &n, &s);
  if (n < s)
    puts("-1");
  else if (n == s)
    printf("%lld", n + 1);
  else {
    int i;
    for (i = 2; i * i <= n; i++) {
      long long b = i;
      long long m = n, ans = 0;
      while (m) {
        ans += m % b;
        m /= b;
      }
      if (ans == s) {
        printf("%lld\n", b);
        return 0;
      }
    }
    for (; i < max(0ll, n - s); i++) {
      long long b = i;
      long long m = n, ans = 0;
      while (m) {
        ans += m % b;
        ans /= b;
      }
      if (ans == s) {
        printf("%lld\n", b);
        return 0;
      }
    }
    puts("-1");
  }
  return 0;
}
