#include using namespace std; #define ll long long #define fi first #define se second #define pb emplace_back #define all(n) (n).begin(),(n).end() #define mem(n,x) memset(n,x,sizeof(n)) #define IOS ios::sync_with_stdio(0),cin.tie(0) #define pii pair #define vi vector #define dbg(...) cerr<<#__VA_ARGS__<<" = ";_do(__VA_ARGS__); template void _do(A x){ cerr< void _do(A x, B ...y){ cerr< 1e18 ) return 2e18; ans = ans * x + i; } return ans; } ll ok(vi &v){ /* for(auto i:v) cout<= x) r = m; else l = m + 1; } if(val(l, v) == x) return l; else return -1; } signed main(){ IOS; cin>>x>>y; for(ll i=10;i*i*i<=x;i++){ ll ans = 0, n = x, mul = 1; while(n){ if(n % i >= 10) break; ans += n%i * mul; mul *= 10; n /= i; if(!n && ans >= y){ base = i; } } } for(ll i=y;i<1000;i++){ vector arr; ll x = i; while(x){ arr.pb(x%10); x/=10; } reverse(all(arr)); ll res = ok(arr); if(res != -1){ base = max(base, res); } } cout<