n, k = map(int, input().split())
a = {}
p = 0
for i in range(n, 0, -1):
    b = 0
    j = i
    while j < k:
        if j in a:
            b += a[j]
            break;
        else:
            j *= 2
            b += 1
    a[i] = b
c = [0]*20
for i in range(n):
    c[a[i+1]] += 1
for i in range(20):
    p += c[i]*(1/2)**i
print(p/n) n, k = map(int, input().split()) n map(int, input().split()) map int input().split() ().split () input split k a = {} a {} p = 0 p 0 for i in range(n, 0, -1):
    b = 0
    j = i
    while j < k:
        if j in a:
            b += a[j]
            break;
        else:
            j *= 2
            b += 1
    a[i] = b i range(n, 0, -1) range n 0 -1 b = 0 b 0 j = i j i while j < k:
        if j in a:
            b += a[j]
            break;
        else:
            j *= 2
            b += 1
     j < k j k if j in a:
            b += a[j]
            break;
        else:
            j *= 2
            b += 1
     j in a j a b += a[j] b a[j] a j break j *= 2 j 2 b += 1 b 1 a[i] = b a[i] a i b c = [0]*20 c [0]*20 [0] 0 20 for i in range(n):
    c[a[i+1]] += 1 i range(n) range n c[a[i+1]] += 1 c[a[i+1]] c a[i+1] a i+1 i 1 1 for i in range(20):
    p += c[i]*(1/2)**i i range(20) range 20 p += c[i]*(1/2)**i p c[i]*(1/2)**i c[i] c i (1/2)**i 1/2 1 2 i print(p/n) print p/n p n j = i i j k = map(int, input().split()) map(int, input().split()) k p += c[i]*(1/2)**i c[i]*(1/2)**i p b = 0 0 b j *= 2 2 j b += a[j] a[j] b p = 0 0 p b += 1 1 b n, k = map(int, input().split()) map(int, input().split()) n a = {} {} a c = [0]*20 [0]*20 c
n, k = map(int, input().split())
a = {}
p = 0
for i in range(n, 0, -1):
    b = 0
    j = i
    while j < k:
        if j in a:
            b += a[j]
            break;
        else:
            j *= 2
            b += 1
    a[i] = b
c = [0]*20
for i in range(n):
    c[a[i+1]] += 1
for i in range(20):
    p += c[i]*(1/2)**i
print(p/n)