Collecting Bugs

No attempts yetTime limit2sMemory limit64 MB

Problem

Ivan is fond of collecting. Unlike people who collect postage stamps, coins, or other physical things, he collects software bugs. Whenever Ivan gets a new program, he sorts every bug it could contain into nn categories. Each day he finds exactly one bug and records the bug together with its category in a spreadsheet. Once he has found at least one bug of every category, he declares the program disgusting, publishes the spreadsheet on his home page, and forgets about the program entirely.

Two companies, Macrosoft and Microhard, are locked in fierce competition. Microhard wants to cut the sales of one Macrosoft program, so it hires Ivan to prove that the program is disgusting. Ivan faces a complication, though: the new program has ss subsystems, and finding bugs of every category inside each subsystem would take far too long to meet the deadline. So Ivan and Microhard agree on a simpler criterion — Ivan only has to find at least one bug in each subsystem and at least one bug of each category.

Macrosoft is aware of this plan and wants to estimate how long Ivan will need before he can call the program disgusting, because it is about to release a new version and could adjust its plans to ship sooner. Nobody would care about Ivan's opinion of the obsolete version.

Each bug that is found is equally likely to belong to any category. Likewise, a bug is equally likely to be found in any subsystem. No single bug can belong to two categories at once or occur in two subsystems at once. The program contains an essentially infinite number of bugs, so the probability of finding a new bug of a given category in a given subsystem does not decrease no matter how many bugs of that category in that subsystem have already been found.

Find the average time (in days of Ivan's work) needed before he can call the program disgusting.

Input

Two integers nn and ss are given (0<n,s10000 < n, s \le 1000), where nn is the number of bug categories and ss is the number of subsystems.

Output

Output the expected number of working days Ivan needs before he can call the program disgusting, rounded to exactly six digits after the decimal point.