#include<bits/stdc++.h>
using namespace std;
int main(){
    long long n, s;
    cin >> n >> s;
    for(long long i = 2; i <= sqrt(n); i++){
        long long cnt = 0, p = n;
        while(p > 0){
            cnt += p % i;
            p = p/i;
        }
        if(cnt == s){
            cout << i;
            return 0;
        }
    }
    long long ans = 1e18;
    for(long long i = 1; i <= sqrt(n - s); i++){
        if((n - s) % i == 0){
            long long k = (n - s)/i + 1;
            if(k > sqrt(n)){
                long long r = n/k + n % k;
                if(r == s){
                    ans = min(ans, k);
                }
            }
        }
    }
    if(s == n){
        ans = min(ans, n + 1);
    }
    if(ans == 1e18){
        cout << "-1";
    }
    else{
        cout << ans;
    }
    return 0;
}