#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
template<class T>bool chmax(T &a, const T &b) { if (a<b) { a=b; return 1; } return 0; }
template<class T>bool chmin(T &a, const T &b) { if (b<a) { a=b; return 1; } return 0; }
const ll INF=1LL<<60;
const int inf=1<<30;
const int mod=1e9+7;

int main(){
    cin.tie(0);
    ios::sync_with_stdio(false);
    ld p,q;cin >> p >> q;
    ld l=1,r=INF;
    for(int i=0;i<1000000;i++){
        ld mid=(l+r)/2;
        if(p+q*mid*log2(mid)>mid*mid){
            l=mid;
        }
        else{
            r=mid;
        }
    }
    cout << fixed << setprecision(10) << l << endl;
}