#include <bits/stdc++.h>
using namespace std;
long long n, s;
bool ok(long long b) {
  if (b < 2) return false;
  long long x = n;
  long long sum = 0;
  while (x) {
    sum += x % b;
    x /= b;
  }
  return sum == s;
}
int main() {
  scanf("%lld%lld", &n, &s);
  long long sn = sqrt(n);
  for (int i = 2; i < (sqrt(n) + 1); ++i) {
    if (ok(i)) {
      printf("%d\n", i);
      return 0;
    }
  }
  for (int q = sqrt(n) - 1; q >= int(1); q--) {
    if ((n - s + q) % q == 0) {
      if (ok((n - s + q) / q)) {
        printf("%lld\n", (n - s) / q + 1);
        return 0;
      }
    }
  }
  if (n == s) {
    printf("%lld\n", n + 1);
    return 0;
  }
  puts("-1");
  return 0;
}
