#include <bits/stdc++.h>
#define int long long
/// n-s=p(b-1);
using namespace std;
int f(int b,int n){
    if(n<b) return n;
    return f(b,n/b)+n%b;
}
main(){
    int n,s;
    scanf("%lld %lld",&n,&s);
    for(int b=2;b<=sqrt(n);++b)
        if(f(b,n)==s) return printf("%lld\n",b),0;
    int D=1;
    for(;D*D<=n-s;++D)
        if((n-s)%D==0&&f(D+1,n)==s)
            return printf("%lld\n",D+1),0;
    for(--D;D;--D)
        if((n-s)%D==0&&f((n-s)/D+1,n)==s)
            return printf("%lld\n",(n-s)/D+1),0;
    printf("-1\n");
    return 0;
}
