#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define rep(i, n) for(int(i) = 0; (i) < (n); (i)++) #define FOR(i, m, n) for(int(i) = (m); (i) < (n); (i)++) #define All(v) (v).begin(), (v).end() #define pb push_back #define MP(a, b) make_pair((a), (b)) using ll = long long; using pii = pair; using pll = pair; const int INF = 1 << 30; const ll LINF = 1LL << 60; const int MOD = 1e9 + 7; int main() { double P, Q; cin >> P >> Q; double lb = 1, ub = 1e18; rep(i, 300) { double mid = (ub + lb) / 2.0; if(mid * mid > P + Q * mid * log2(mid)) { ub = mid; } else { lb = mid; } } cout << fixed << setprecision(10) << ub << endl; return 0; }