n,k = map(int,input().split())

sum1 = 0
for i in range(1,n+1):
    p = 0
    while True:
        if (2**p)*i >= k:
            break
        p +=1
    sum1 += 1/(n*2**p)
print(sum1) n,k = map(int,input().split()) n map(int,input().split()) map int input().split() ().split () input split k sum1 = 0 sum1 0 for i in range(1,n+1):
    p = 0
    while True:
        if (2**p)*i >= k:
            break
        p +=1
    sum1 += 1/(n*2**p) i range(1,n+1) range 1 n+1 n 1 p = 0 p 0 while True:
        if (2**p)*i >= k:
            break
        p +=1
     True if (2**p)*i >= k:
            break
         (2**p)*i >= k (2**p)*i 2**p 2 p i k break p +=1 p 1 sum1 += 1/(n*2**p) sum1 1/(n*2**p) 1 n*2**p n 2**p 2 p print(sum1) print sum1 sum1 = 0 0 sum1 p = 0 0 p p +=1 1 p sum1 += 1/(n*2**p) 1/(n*2**p) sum1 n,k = map(int,input().split()) map(int,input().split()) n k = map(int,input().split()) map(int,input().split()) k
n,k = map(int,input().split())

sum1 = 0
for i in range(1,n+1):
    p = 0
    while True:
        if (2**p)*i >= k:
            break
        p +=1
    sum1 += 1/(n*2**p)
print(sum1)