将 $N$ 个具有实数值键值的元素插入到一棵 Treap 中。计算 Treap 高度为 $h$ ($h = 0, 1, \dots, N - 1$) 的概率。
Treap 是一种随机二叉搜索树。每个节点都有一个键值(key)和一个优先级(priority)。在本题中,假设这两个值都是 0 到 1 之间的实数。在 Treap 中,始终满足以下两个条件:
关于键值的条件:
- 对于每个节点,其键值大于其左子节点及其左子树中所有后代的键值。
- 对于每个节点,其键值小于其右子节点及其右子树中所有后代的键值。
关于优先级的条件:
- 对于每个节点,其优先级大于其子节点的优先级。
下图展示了一个 Treap 的示例。在每个节点中,上半部分包含键值,下半部分包含优先级。
当你插入一个键值为 $x$ 的节点时,执行以下操作:
- 均匀随机确定新节点的优先级 $p$,取值范围为 0 到 1。
- 首先,像标准二叉搜索树一样,忽略优先级,根据键值插入节点。
- 然后,当不满足优先级条件时,执行旋转操作并将新节点向上移动。
在下图中,一个键值为 0.5、优先级为 0.5 的节点被插入到上述 Treap 中。
你均匀随机选择 $N$ 个 0 到 1 之间的键值,并将它们逐一插入到一棵空的 Treap 中。对于每个 $h = 0, 1, \dots, N - 1$,输出最终 Treap 高度为 $h$ 的概率。实数具有足够的精度,且两个随机数相等的概率为零。高度定义为从叶子节点到根节点所经过的边的最大数量。
输入格式
给定一个整数 $N$ ($1 \le N \le 3 \cdot 10^4$)。
输出格式
输出 $N$ 行。第 $i$ 行输出高度为 $i - 1$ 的概率。绝对误差必须不超过 $10^{-5}$。
样例
样例输入 1
1
样例输出 1
1.0
样例输入 2
2
样例输出 2
0.00000 1.00000