D - 乱数生成 解説 /

実行時間制限: 2 sec / メモリ制限: 256 MB

問題文

2 つの整数 NK が与えられます。

1 以上 N 以下の整数のなかからどれか 1 つ、等確率に選ぶ機械を考えます。

その機械を 3 回動かした時、選ばれた 3 つの数の中央値が K となる確率を求めてください。


入力

入力は以下の形式で標準入力から与えられる。

N K

1 行目には整数 N(1 ≦ N ≦ 10^6)K(1 ≦ K ≦ N) が空白区切りで与えられる。

出力

出力の中央値が K となる確率を出力せよ。出力は標準出力に行い、末尾に改行を入れること。

なお、想定解との絶対誤差または相対誤差が 10^{-9} 以下であれば、正解として扱われる。


入力例1

3 2

出力例1

0.48148148148148148148

中央値が 2 となるのは、( 1 回目の出力, 2 回目の出力, 3 回目の出力) が

  • (1, 2, 3)
  • (1, 3, 2)
  • (2, 1, 3)
  • (2, 3, 1)
  • (3, 1, 2)
  • (3, 2, 1)
  • (1, 2, 2)
  • (2, 1, 2)
  • (2, 2, 1)
  • (3, 2, 2)
  • (2, 3, 2)
  • (2, 2, 3)
  • (2, 2, 2)

となる場合で、このいずれかが出る確率は 13/27 = 0.481481481... です


入力例2

3 1

出力例2

0.25925925925925925926

入力例3

765 573

出力例3

0.00147697396984624371