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

num = 0

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

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

num = 0

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

print(num)