# Problem C - Dice and Coin
# input
N, K = map(int, input().split())

# initialization
ans = 0

def calc_count(n, K):
    tmp = 0
    while n<K:
        tmp += 1
        n *= 2
    return tmp

# count
for i in range(1, N+1):
    count = calc_count(i, K)
    ans += (1 / 2)**count

# output
ans = ans / N
print(ans) N, K = map(int, input().split()) N map(int, input().split()) map int input().split() ().split () input split K ans = 0 ans 0 def calc_count(n, K):
    tmp = 0
    while n<K:
        tmp += 1
        n *= 2
    return tmp

# count calc_count tmp = 0 tmp 0 while n<K:
        tmp += 1
        n *= 2
     n<K n K tmp += 1 tmp 1 n *= 2 n 2 return tmp tmp n n K K for i in range(1, N+1):
    count = calc_count(i, K)
    ans += (1 / 2)**count

# output i range(1, N+1) range 1 N+1 N 1 count = calc_count(i, K) count calc_count(i, K) calc_count i K ans += (1 / 2)**count ans (1 / 2)**count 1 / 2 1 2 count ans = ans / N ans ans / N ans N print(ans) print ans ans += (1 / 2)**count (1 / 2)**count ans K = map(int, input().split()) map(int, input().split()) K N, K = map(int, input().split()) map(int, input().split()) N ans = 0 0 ans count = calc_count(i, K) calc_count(i, K) count ans = ans / N ans / N ans def calc_count(n, K):
    tmp = 0
    while n<K:
        tmp += 1
        n *= 2
    return tmp

# count def calc_count(n, K):
    tmp = 0
    while n<K:
        tmp += 1
        n *= 2
    return tmp

# count calc_count
# Problem C - Dice and Coin
# input
N, K = map(int, input().split())

# initialization
ans = 0

def calc_count(n, K):
    tmp = 0
    while n<K:
        tmp += 1
        n *= 2
    return tmp

# count
for i in range(1, N+1):
    count = calc_count(i, K)
    ans += (1 / 2)**count

# output
ans = ans / N
print(ans)
