from fractions import Fraction
n,k=map(int,input().split())
times=[0]*n
for i in range(1,n+1):
    count=0
    j=1
    while True:
        if j*i<k:
            count+=1
            j=2*j
        else:
            break
    times[i-1]+=count
ans=0
for k in times:
    ans+=(Fraction(1,2))**k
print(ans.numerator/(ans.denominator*n)) from fractions import Fraction n,k=map(int,input().split()) n map(int,input().split()) map int input().split() ().split () input split k times=[0]*n times [0]*n [0] 0 n for i in range(1,n+1):
    count=0
    j=1
    while True:
        if j*i<k:
            count+=1
            j=2*j
        else:
            break
    times[i-1]+=count i range(1,n+1) range 1 n+1 n 1 count=0 count 0 j=1 j 1 while True:
        if j*i<k:
            count+=1
            j=2*j
        else:
            break
     True if j*i<k:
            count+=1
            j=2*j
        else:
            break
     j*i<k j*i j i k count+=1 count 1 j=2*j j 2*j 2 j break times[i-1]+=count times[i-1] times i-1 i 1 count ans=0 ans 0 for k in times:
    ans+=(Fraction(1,2))**k k times ans+=(Fraction(1,2))**k ans (Fraction(1,2))**k Fraction(1,2) Fraction 1 2 k print(ans.numerator/(ans.denominator*n)) print ans.numerator/(ans.denominator*n) ans.numerator ans numerator ans.denominator*n ans.denominator ans denominator n k=map(int,input().split()) map(int,input().split()) k n,k=map(int,input().split()) map(int,input().split()) n j=2*j 2*j j j=1 1 j count+=1 1 count times=[0]*n [0]*n times ans=0 0 ans count=0 0 count ans+=(Fraction(1,2))**k (Fraction(1,2))**k ans
from fractions import Fraction
n,k=map(int,input().split())
times=[0]*n
for i in range(1,n+1):
    count=0
    j=1
    while True:
        if j*i<k:
            count+=1
            j=2*j
        else:
            break
    times[i-1]+=count
ans=0
for k in times:
    ans+=(Fraction(1,2))**k
print(ans.numerator/(ans.denominator*n))