#line 1 "/mnt/c/Users/leafc/dev/compro/lib/template.hpp" #include #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 coutd(n) cout << fixed << setprecision(n) #define ll long long int #define vl vector #define vi vector #define MM << " " << using namespace std; template void say(bool val, T yes = "Yes", T no = "No") { cout << (val ? yes : no) << endl; } template void chmin(T &a, T b) { if (a > b) a = b; } template void chmax(T &a, T b) { if (a < b) a = b; } #line 2 "tmp.cpp" int main() { cin.tie(0); ios::sync_with_stdio(false); ll p, q; cin >> p >> q; double ok = 1; double ng = 1e18; REP(i, 10000) { double mid = (ok + ng) / 2; if (mid * mid <= p + q * mid * log2(mid)) { ok = mid; } else { ng = mid; } } coutd(10) << ok << endl; return 0; }