I. Club
time limit per test
1 second
memory limit per test
512 megabytes
input
standard input
output
standard output

In April, spring is in full swing, and the annual event — "Hundred Clubs Battle" will be held in JLU.

There are $$$n$$$ clubs in JLU. During the day of the "Hundred Clubs Battle", each club will organize its own club game where participants can play to earn badges, and those who collect all types of badges will receive a mystery prize!

As a member of the JLU clubs association and organizer of the event, Paulliant designed $$$m$$$ badges and assigned one of them to each club. Considering the participants do not know which type of badge each club has, they will randomly play in one club's game (which can be a previously selected club) at a time and receive its badge until all types of badges are collected. Paulliant wants to know how to assign the $$$m$$$ badges to the $$$n$$$ clubs in order to minimize the expected number of games played by participants. Output this expected value.

Note that the same badges can be assigned to different clubs, but each badge must be assigned to at least one club.

Input

There is only one line containing two positive integer numbers $$$n, m\ (1\leq n \leq 10^5,1 \leq m \leq 5000,\ m \leq n)$$$ — the number of clubs in JLU, and the number badges Paulliant designed, separated by a single space.

Output

Output a single number — the minimized expected number of games played by participants. Your answer will be considered correct if its absolute or relative error does not exceed $$$10^{-6}$$$.

Examples
Input
3 2
Output
3.5000000000
Input
111 7
Output
18.1658637604