N,K=map(int,input().split())
total=0
for i in range(1,N+1):
    if i>=K:
        total+=1
    for j in range(20):
        
        if (2**j)*i<K<=(2**(j+1))*i:
            a=j+1
            total+=(1/2)**a
            break

print((1/N)*total) N,K=map(int,input().split()) N map(int,input().split()) map int input().split() ().split () input split K total=0 total 0 for i in range(1,N+1):
    if i>=K:
        total+=1
    for j in range(20):
        
        if (2**j)*i<K<=(2**(j+1))*i:
            a=j+1
            total+=(1/2)**a
            break i range(1,N+1) range 1 N+1 N 1 if i>=K:
        total+=1
     i>=K i K total+=1 total 1 for j in range(20):
        
        if (2**j)*i<K<=(2**(j+1))*i:
            a=j+1
            total+=(1/2)**a
            break j range(20) range 20 if (2**j)*i<K<=(2**(j+1))*i:
            a=j+1
            total+=(1/2)**a
            break (2**j)*i<K<=(2**(j+1))*i (2**j)*i<K (2**j)*i 2**j 2 j i K (2**(j+1))*i 2**(j+1) 2 j+1 j 1 i a=j+1 a j+1 j 1 total+=(1/2)**a total (1/2)**a 1/2 1 2 a break print((1/N)*total) print (1/N)*total 1/N 1 N total total=0 0 total a=j+1 j+1 a total+=(1/2)**a (1/2)**a total K=map(int,input().split()) map(int,input().split()) K total+=1 1 total N,K=map(int,input().split()) map(int,input().split()) N
N,K=map(int,input().split())
total=0
for i in range(1,N+1):
    if i>=K:
        total+=1
    for j in range(20):
        
        if (2**j)*i<K<=(2**(j+1))*i:
            a=j+1
            total+=(1/2)**a
            break

print((1/N)*total)