#include <bits/stdc++.h>
using namespace std;
double f(double N){
  return pow(N, 2);
}
double g(double N, double P, double Q){
  return P + Q * N * log(N) / log(2);
}
int main(){
  cout << fixed << setprecision(20);
  double P, Q;
  cin >> P >> Q;
  double tv = 1;
  double fv = pow(10, 18);
  for (int i = 0; i < 100; i++){
    double mv = (tv + fv) / 2;
    double p = f(mv);
    double q = g(mv, P, Q);
    if (p < q){
      tv = mv;
    } else {
      fv = mv;
    }
  }
  cout << tv << endl;
}