P16044 [ICPC 2022 NAC] Double Sort

Description

Given two integers $n$ and $m$ ($n \le m$), you generate a sequence of $n$ integers as follows: 1. First, choose $n$ distinct integers between 1 and $m$, inclusive. 2. Sort these numbers in non-decreasing order. 3. Take the difference sequence, which transforms a sequence $a_1, a_2, a_3, \dots$ into $a_1, a_2 - a_1, a_3 - a_2, \dots$. 4. Sort the difference sequence in non-decreasing order. 5. Take the prefix sums of the sorted difference sequence to get the final sequence. This transforms a sequence $b_1, b_2, b_3, \dots$ into $b_1, b_2 + b_1, b_3 + b_2 + b_1, \dots$. For example, with $n = 3$ and $m = 10$: 1. Suppose we initially chose $6, 2, 9$. 2. The sequence in order is $2, 6, 9$. 3. The difference sequence is $2, 4, 3$. 4. The sorted difference sequence is $2, 3, 4.$ 5. The prefix sums of the sorted difference sequence are $2, 5, 9$. Suppose you chose a uniformly random set of distinct integers for step 1. Compute the expected value for each index in the final sequence.

Input Format

The single line of input contains two integers $n$ ($1 \le n \le 50$) and $m$ ($n \le m \le 10,000$), where $n$ is the size of the sequence, and all of the initial integers chosen are in the range from 1 to $m$.

Output Format

Output $n$ lines. Each line contains a single real number, which is the expected value at that index of the final sequence. Each answer is accepted with absolute or relative error at most $10^{-6}$.