output_description: Print the probability that Snuke wins the game. The output is considered
  correct when the absolute or relative error is at most 10^{-9}.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N K
attempt: def li():
      return list(map(int, input().split()))
  
  
  if __name__ == "__main__":
      [n, k] = li()
  
      # 最初の目がk以上で勝つ確率
      win1 = max(0, (n - k + 1))
      # print(win1)
  
      # コインを投げる最大回数
      coin_max_num = len(bin(k)) - 2
      win_list = []
      candidate_list = []
  
      for coin in range(1, coin_max_num + 1):
          upper = min(n, (k + 2**coin - 1) // 2**coin)
          # print(upper)
          candidate = max(upper + 1 - (k + 2**coin - 1) // 2**coin, 0)
          candidate_list.append(candidate)
          # print(candidate)
          # print()
  
          win_list.append(max(0, candidate * 0.5**coin * candidate * 10**7))
      # print(win_list)
      print((win1 * 10**7 + sum(win_list)) / (n * 10**7))
  
      # upper = min(n, k)
      # win_list.append(max(0, (upper - (k + 2**1-1) // 2) / n) * 0.5 ** 1)
  
      # upper = min(n, (k + 1) // 2)
      # win_list.append(max(0, (upper - (k+2**2-1) // 2**2) / n) * 0.5 ** 2)
  
problem_description: Statement
  
  Snuke has a fair N-sided die that shows the integers from 1 to N with equal
  probability and a fair coin. He will play the following game with them:
  
    1. Throw the die. The current score is the result of the die.
    2. As long as the score is between 1 and K-1 (inclusive), keep flipping the coin. The score is doubled each time the coin lands heads up, and the score becomes 0 if the coin lands tails up.
    3. The game ends when the score becomes 0 or becomes K or above. Snuke wins if the score is K or above, and loses if the score is 0.
  
  You are given N and K. Find the probability that Snuke wins the game.
samples: [{"input": "3 10", "output": "0.145833333333\n    \n\n  * If the die shows 1, Snuke needs to get four consecutive heads from four coin flips to obtain a score of 10 or above. The probability of this happening is \\frac{1}{3} \\times (\\frac{1}{2})^4 = \\frac{1}{48}.\n  * If the die shows 2, Snuke needs to get three consecutive heads from three coin flips to obtain a score of 10 or above. The probability of this happening is \\frac{1}{3} \\times (\\frac{1}{2})^3 = \\frac{1}{24}.\n  * If the die shows 3, Snuke needs to get two consecutive heads from two coin flips to obtain a score of 10 or above. The probability of this happening is \\frac{1}{3} \\times (\\frac{1}{2})^2 = \\frac{1}{12}.\n\nThus, the probability that Snuke wins is \\frac{1}{48} + \\frac{1}{24} +\n\\frac{1}{12} = \\frac{7}{48} \\simeq 0.1458333333.\n\n* * *"}, {"input": "100000 5", "output": "0.999973749998"}]