AT_abc028_d [ABC028D] 乱数生成

Description

[problemUrl]: https://atcoder.jp/contests/abc028/tasks/abc028_d $ 2 $ つの整数 $ N $、$ K $ が与えられます。 $ 1 $ 以上 $ N $ 以下の整数のなかからどれか $ 1 $ つ、等確率に選ぶ機械を考えます。 その機械を $ 3 $ 回動かした時、選ばれた $ 3 $ つの数の中央値が $ K $ となる確率を求めてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ K $ $ 1 $ 行目には整数 $ N(1\ ≦\ N\ ≦\ 10^6) $、$ K(1\ ≦\ K\ ≦\ N) $ が空白区切りで与えられる。

Output Format

出力の中央値が $ K $ となる確率を出力せよ。出力は標準出力に行い、末尾に改行を入れること。 なお、想定解との絶対誤差または相対誤差が $ 10^{-9} $ 以下であれば、正解として扱われる。

Explanation/Hint

### Sample Explanation 1 中央値が $ 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... $ です