from fractions import Fraction
import math
n,k=list(map(int,input().split()))
ans=0
for i in range(1,n+1):
    if i>=k:
        ans+=(Fraction(1,n))
    else:
        x=int(math.log((k/i),2))
        if (k/i)%(2**x)!=0:
            x+=1
        ans+=Fraction(1,n*(2**x))
print(float(ans)) from fractions import Fraction import math math n,k=list(map(int,input().split())) n list(map(int,input().split())) list map(int,input().split()) map int input().split() ().split () input split k ans=0 ans 0 for i in range(1,n+1):
    if i>=k:
        ans+=(Fraction(1,n))
    else:
        x=int(math.log((k/i),2))
        if (k/i)%(2**x)!=0:
            x+=1
        ans+=Fraction(1,n*(2**x)) i range(1,n+1) range 1 n+1 n 1 if i>=k:
        ans+=(Fraction(1,n))
    else:
        x=int(math.log((k/i),2))
        if (k/i)%(2**x)!=0:
            x+=1
        ans+=Fraction(1,n*(2**x)) i>=k i k ans+=(Fraction(1,n)) ans Fraction(1,n) Fraction 1 n x=int(math.log((k/i),2)) x int(math.log((k/i),2)) int math.log((k/i),2) math.log math log k/i k i 2 if (k/i)%(2**x)!=0:
            x+=1
         (k/i)%(2**x)!=0 (k/i)%(2**x) k/i k i 2**x 2 x 0 x+=1 x 1 ans+=Fraction(1,n*(2**x)) ans Fraction(1,n*(2**x)) Fraction 1 n*(2**x) n 2**x 2 x print(float(ans)) print float(ans) float ans ans+=Fraction(1,n*(2**x)) Fraction(1,n*(2**x)) ans n,k=list(map(int,input().split())) list(map(int,input().split())) n k=list(map(int,input().split())) list(map(int,input().split())) k ans=0 0 ans x=int(math.log((k/i),2)) int(math.log((k/i),2)) x x+=1 1 x ans+=(Fraction(1,n)) Fraction(1,n) ans
from fractions import Fraction
import math
n,k=list(map(int,input().split()))
ans=0
for i in range(1,n+1):
    if i>=k:
        ans+=(Fraction(1,n))
    else:
        x=int(math.log((k/i),2))
        if (k/i)%(2**x)!=0:
            x+=1
        ans+=Fraction(1,n*(2**x))
print(float(ans))