### A - Guess the number

##### Languages: C, C++, Java, Python, ... (details)

Randy is playing a simple game called "Guess the Number": there is a hidden integer $V$ whose value is between $1$ and $N$. The goal of the game is to guess this number $V$. In each round, Randy picks an integer between $1$ and $N$ as his guess.  If the guess matches $V$, the game ends and he wins a prize.  Otherwise, the game continues and asks Randy for his next guess, and so on.

In each round, Randy will use the following strategy to make his guess:

1. He randomly selects an integer $x$ between $1$ and $N$.
2. If $x$ was not tried in any previous round, $x$ would be his guess in the current round. This guess costs him \$1. 3. Otherwise, as the guess in the current round, he would pick the smallest not tried integer that is larger than$x$(but not larger than$N$). This guess also costs him \$1.
4. If no such number exists, he discards $x$ and goes to step $1$. Discarding number $x$ has no cost for Randy.

Question: what is the average amount of money Randy has to pay before he wins the prize?

#### Input

The input consists of a single line containing two integers $N$ $(1 \le N \le 20)$ and $V$ $(1 \le V \le N)$.

#### Output

Output a single line with the answer to the question described above. Your answer is considered correct if its (absolute or relative) difference from the expected answer is at most $10^{-6}$.

Input
2 2
Output
1.5
Input
3 2
Output
1.944444444
Input
10 6
Output
5.305939329