N, K = map(int,input().split())

win = 0
for i in range(1,N+1):
    n = 0
    point = i
    while point < K:
        point *= 2
        n += 1
    win += (1/N)*(0.5**n)

print(win) N, K = map(int,input().split()) N map(int,input().split()) map int input().split() ().split () input split K win = 0 win 0 for i in range(1,N+1):
    n = 0
    point = i
    while point < K:
        point *= 2
        n += 1
    win += (1/N)*(0.5**n) i range(1,N+1) range 1 N+1 N 1 n = 0 n 0 point = i point i while point < K:
        point *= 2
        n += 1
     point < K point K point *= 2 point 2 n += 1 n 1 win += (1/N)*(0.5**n) win (1/N)*(0.5**n) 1/N 1 N 0.5**n 0.5 n print(win) print win win = 0 0 win n += 1 1 n N, K = map(int,input().split()) map(int,input().split()) N n = 0 0 n K = map(int,input().split()) map(int,input().split()) K point *= 2 2 point point = i i point win += (1/N)*(0.5**n) (1/N)*(0.5**n) win
N, K = map(int,input().split())

win = 0
for i in range(1,N+1):
    n = 0
    point = i
    while point < K:
        point *= 2
        n += 1
    win += (1/N)*(0.5**n)

print(win)