#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <numeric>
#include <cmath>
#include <queue>
#include <tuple>
#include <set>
#include <map>

using namespace std;

int main(void) {
    double P, Q;
    cin >> P >> Q;

    double low = 1.0, high = 1e12;
    for(int i=0; i<100; i++) {
        double mid = (low + high) * 0.5;
        if(mid*mid < P + Q * mid * log2(mid)) {
            low = mid;
        } else {
            high = mid;
        }
    }

    printf("%lf\n", low);
    return 0;
}