#include <bits/stdc++.h> using namespace std; #define int long long 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; } double p, q; bool isOK(double n){ return n*n <= p+q*n*log2(n); } signed main(){ cin >> p >> q; double l, r; l = 1; r = 1e18; int cnt = 0; while(r-l > 1e-6){ double mid = (r+l)/2; if(isOK(mid)) l = mid; else r = mid; cnt++; if(cnt == 1000){ break; } } printf("%.12lf\n", l); return 0; }