#include <bits/stdc++.h>
#include <iostream>
#include <set>
#include <vector>
#include <algorithm>
#include <string>
#include <cmath>
using namespace std;
#define ll long long
#define _CRT_SECURE_NO_WARNINGS
#define endl '\n'
#define pb push_back
#define f first
#define s second
#define V vector<int>
#define Vl vector<ll>
#define pll pair<ll,ll>
#define Vp vector<pair<int,int>>
#define all(v) v.begin(),v.end()
#define mid(s,e) (s+(e-s)/2)
#define tcase() ll t,n; cin>>t;n=t; while(t--)
#define eb emplace_back
#define ull unsigned long long
#define minimize INT_MAX
#define maximize INT_MIN
#define dsort(a) sort(a.begin(), a.end(), greater<int>())
#define asort(a) sort(a.begin(), a.end())
#define fr(i,n) for(ll i=0; i<n; i++)
#define fr1(i,n) for(ll i=1; i<=n; i++)
#define vp(n) vector<pair<int,int>>v(n);
#define si set <int>
#define cin(v) for (auto & i : v) cin >> i
void fast(){
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
//cout.setf(ios::fixed);
//cout.precision(20);
#ifndef _offline
// freopen("mex.in", "r", stdin);
//freopen("output.txt", "w", stdout);
#endif
}
//void HaXn1() {
// double c, time;
// cin >> c >> time;
// double l = 1, r = 1e18, ans = 1.0;
// auto valid = [&](double md) {
// double val = (c * md * log2(md));
// return (val <= time);
// };
// int t = 100;
// while (t--) {
// double md = (l + r) / 2.0;
// if (valid(md)) {
// ans = md;
// l = md;
// } else {
// r = md;
// }
// }
// cout << fixed << setprecision(6) << ans << endl;
//}
void HaXn() {
double c, time; cin >> c >> time;
double l =1, r= 1e18, ans = 1.0;
auto valid = [&] (double md){
double val = (c * md * log2(md));
return(val <= time);
};
while (l<=r){
double md = (l+r)/2;
if (valid(md)){
ans = md;
l = md+1;
}else{
r = md-1;
}
}
cout << fixed << setprecision(6) << ans << endl;
}
int32_t main() {
fast();
int t =1;
//cin >> t;
while (t--) {
HaXn();
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPHNldD4KI2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPGNtYXRoPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwojZGVmaW5lIGxsICAgICAgICAgICAgICAgICAgICAgbG9uZyBsb25nCiNkZWZpbmUgX0NSVF9TRUNVUkVfTk9fV0FSTklOR1MKI2RlZmluZSBlbmRsICAgICAgICAgICAgICAgICAgICdcbicKI2RlZmluZSBwYiAgICAgICAgICAgICAgICAgICAgcHVzaF9iYWNrCiNkZWZpbmUgZiAgICAgICAgICAgICAgICAgICAgIGZpcnN0CiNkZWZpbmUgcyAgICAgICAgICAgICAgICAgICAgIHNlY29uZAojZGVmaW5lIFYgICAgICAgICAgICAgICAgICAgICB2ZWN0b3I8aW50PgojZGVmaW5lIFZsICAgICAgICAgICAgICAgICAgICB2ZWN0b3I8bGw+CiNkZWZpbmUgcGxsICAgICAgICAgICAgICAgICAgIHBhaXI8bGwsbGw+CiNkZWZpbmUgVnAgICAgICAgICAgICAgICAgICAgIHZlY3RvcjxwYWlyPGludCxpbnQ+PgojZGVmaW5lIGFsbCh2KSAgICAgICAgICAgICAgICB2LmJlZ2luKCksdi5lbmQoKQojZGVmaW5lIG1pZChzLGUpICAgICAgICAgICAgICAocysoZS1zKS8yKQojZGVmaW5lIHRjYXNlKCkgICAgICAgICAgICAgICBsbCB0LG47IGNpbj4+dDtuPXQ7IHdoaWxlKHQtLSkKI2RlZmluZSBlYiAgICAgICAgICAgICAgICAgICAgZW1wbGFjZV9iYWNrCiNkZWZpbmUgdWxsICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZwojZGVmaW5lIG1pbmltaXplICAgICAgICAgICAgICBJTlRfTUFYCiNkZWZpbmUgbWF4aW1pemUgICAgICAgICAgICAgIElOVF9NSU4KI2RlZmluZSBkc29ydChhKSAgICAgICAgICAgICAgc29ydChhLmJlZ2luKCksIGEuZW5kKCksIGdyZWF0ZXI8aW50PigpKQojZGVmaW5lIGFzb3J0KGEpICAgICAgICAgICAgICBzb3J0KGEuYmVnaW4oKSwgYS5lbmQoKSkKI2RlZmluZSBmcihpLG4pICAgICAgICAgICAgICAgZm9yKGxsIGk9MDsgaTxuOyBpKyspCiNkZWZpbmUgZnIxKGksbikgICAgICAgICAgICAgIGZvcihsbCBpPTE7IGk8PW47IGkrKykKI2RlZmluZSB2cChuKSAgICAgICAgICAgICAgICB2ZWN0b3I8cGFpcjxpbnQsaW50Pj52KG4pOwojZGVmaW5lIHNpICAgICAgICAgICAgICAgICAgIHNldCA8aW50PgojZGVmaW5lICBjaW4odikgICAgICAgICAgICAgIGZvciAoYXV0byAmIGkgOiB2KSBjaW4gPj4gaQoKdm9pZCBmYXN0KCl7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOwogICAgY2luLnRpZSgwKTsKICAgIGNvdXQudGllKDApOwogICAgLy9jb3V0LnNldGYoaW9zOjpmaXhlZCk7CiAgICAvL2NvdXQucHJlY2lzaW9uKDIwKTsKI2lmbmRlZiBfb2ZmbGluZQogICAgLy8gZnJlb3BlbigibWV4LmluIiwgInIiLCBzdGRpbik7CiAgICAvL2ZyZW9wZW4oIm91dHB1dC50eHQiLCAidyIsIHN0ZG91dCk7CiNlbmRpZgp9CgoKLy92b2lkIEhhWG4xKCkgewovLyAgICBkb3VibGUgYywgdGltZTsKLy8gICAgY2luID4+IGMgPj4gdGltZTsKLy8gICAgZG91YmxlIGwgPSAxLCByID0gMWUxOCwgYW5zID0gMS4wOwovLyAgICBhdXRvIHZhbGlkID0gWyZdKGRvdWJsZSBtZCkgewovLyAgICAgICAgZG91YmxlIHZhbCA9IChjICogbWQgKiBsb2cyKG1kKSk7Ci8vICAgICAgICByZXR1cm4gKHZhbCA8PSB0aW1lKTsKLy8gICAgfTsKLy8gICAgaW50IHQgPSAxMDA7Ci8vICAgIHdoaWxlICh0LS0pIHsKLy8gICAgICAgIGRvdWJsZSBtZCA9IChsICsgcikgLyAyLjA7Ci8vICAgICAgICBpZiAodmFsaWQobWQpKSB7Ci8vICAgICAgICAgICAgYW5zID0gbWQ7Ci8vICAgICAgICAgICAgbCA9IG1kOwovLyAgICAgICAgfSBlbHNlIHsKLy8gICAgICAgICAgICByID0gbWQ7Ci8vICAgICAgICB9Ci8vICAgIH0KLy8gICAgY291dCA8PCBmaXhlZCA8PCBzZXRwcmVjaXNpb24oNikgPDwgYW5zIDw8IGVuZGw7Ci8vfQoKCnZvaWQgSGFYbigpIHsKICBkb3VibGUgYywgdGltZTsgY2luID4+IGMgPj4gdGltZTsKICBkb3VibGUgbCA9MSwgcj0gMWUxOCwgYW5zID0gMS4wOwogIGF1dG8gdmFsaWQgPSBbJl0gKGRvdWJsZSBtZCl7CiAgICAgIGRvdWJsZSB2YWwgPSAoYyAqIG1kICogbG9nMihtZCkpOwogICAgICByZXR1cm4odmFsIDw9IHRpbWUpOwogIH07CiAgd2hpbGUgKGw8PXIpewogICAgICBkb3VibGUgbWQgPSAobCtyKS8yOwogICAgICBpZiAodmFsaWQobWQpKXsKICAgICAgICAgIGFucyA9IG1kOwogICAgICAgICAgbCA9IG1kKzE7CiAgICAgIH1lbHNlewogICAgICAgICAgciA9IG1kLTE7CiAgICAgIH0KICB9CiAgY291dCA8PCBmaXhlZCA8PCBzZXRwcmVjaXNpb24oNikgPDwgYW5zIDw8IGVuZGw7Cgp9CgoKaW50MzJfdCBtYWluKCkgewogICAgZmFzdCgpOwogICAgaW50IHQgPTE7CiAgICAvL2NpbiA+PiB0OwogICAgd2hpbGUgKHQtLSkgewogICAgICAgIEhhWG4oKTsKICAgIH0KfQ==