#include <bits/stdc++.h>
#define rep(i,a,b) for(int i=int(a);i<=int(b);++i)
using namespace std;
template<class A>void pr(A a){cout << (a) << endl;}
template<class A,class B>void pr(A a,B b){cout << a << " "  ;pr(b);}
template<class A,class B,class C>void pr(A a,B b,C c){cout << a << " " ;pr(b,c);}
template<class A,class B,class C,class D>void pr(A a,B b,C c,D d){cout << a << " " ;pr(b,c,d);}
typedef long long ll;
typedef pair<ll, ll> l_l;
typedef pair<int, int> i_i;
int INF=numeric_limits<int>::max();
// for(int j=0;j<N;++j) {
double func(double x, ll p, ll q) {
  return x*x-q*x*log2(x)-p;
}

double dfunc(double x, ll q) {
  return 2*x-q*(log2(x)+1.0/log(2))-1;
}

int main(void) {
  ll p,q;cin>> p >> q;
  double x = 100*q + p;
  int cnt=10000000;
  while(abs(func(x,p,q))>0.000001) {
    x = x - func(x,p,q) / dfunc(x,q);
    cnt--;
    if(cnt<0) {
      break;
    }
  }
  printf("%8.8f\n", x);
  return 0;
}