#include <bits/stdc++.h>

using namespace std;
long long funcion(long long b,long long n){
	if(n<b){
		return n;
	}else{
		return funcion(b,floor(n/b))+n%b;
	}
}

int main(){
	long long n,s,ans;
	bool mar=0;
	cin>>n>>s;	   
	for(long long i=2;i<=10000000;i++){
		if(funcion(i,n)==s){
			ans=i;
			mar=1;	  	
			break;
		}
	}
	if(mar){
	cout<<ans<<endl;
	}else{
		cout<<"-1"<<endl;
	}
return 0;
}
 
/*
#include <bits/stdc++.h>

using namespace std;
int frecuencias[26];

int main(){
	string palabra;
	cin>>palabra;
	int ans=0;
	bool rpta=1;
	for(int i=0;i<palabra.size();i++){

		frecuencias[palabra[i]-'a']++;
	}
	for(int i=0;i<26;i++){
		if(frecuencias[i]%2!=0){
			rpta=0;
		}
	}
	



	if(rpta){
		cout<<"YES"<<endl;
	}else{
		cout<<"NO"<<endl;
	}
return 0;
}
 */