#include <bits/stdc++.h>
#include <iomanip>
using namespace std;
#define reps(i,s,n) for(int i = s; i < n; i++)
#define rep(i,n) reps(i,0,n)
#define Rreps(i,n,e) for(int i = n - 1; i >= e; --i)
#define Rrep(i,n) Rreps(i,n,0)
#define ALL(a) a.begin(), a.end()
#define fi first
#define se second
typedef long long ll;
typedef vector<ll> vec;
typedef vector<vec> mat;

ll N,M,H,W,Q,K,A,B;
string S;
const ll MOD = 998244353;
//const ll MOD = (1e+9) + 7;
typedef pair<ll, ll> P;

bool ok(long double n){
    return n * n < N + K * n * log(n) / log(2.0);
}

int main() {
    cin>>N>>K;
    long double l = 1.0, r = 1e+15;
    while(r - l > 5e-6){
        long double cen = (l + r) / 2;
        (ok(cen) ? l : r)= cen;
    }
    cout<<fixed<<setprecision(10)<<l<<endl;
}