编程题
### 问题描述
小齐的衣帽间有一排单一的衣架,共有 $N+2$ 个挂钩;左右两端的挂钩永远被衣帽间管理者的外套占据。其余 $N$ 个挂钩供用户使用。
每当有人进入衣帽间时,小齐会尽量选择一个距离其他外套最远的挂钩。对于每个空挂钩 $H$,小齐会计算两个值 $L_H$ 和 $R_H$,分别表示 $H$ 到最靠近左侧或右侧的已占用挂钩之间的空挂钩数量。然后,小齐考虑具有最远最近邻的挂钩集合,即那些 $H$,其中 $min(L_H, R_H)$ 是最大的挂钩。接着,小齐以均匀随机的方式从这个集合中选择一个挂钩,将外套挂在上面。
有 $N$ 个人即将进入衣帽间;每个人在下一个人到达之前都会选择自己的挂钩。没有人会离开。
让我们按照时间顺序给进入的人编号从 $1$ 到 $N$,将用户的挂钩从左到右编号为 $1$ 到 $N$。对于每个人 $i$ 和挂钩 $j$,求小齐占据此挂钩的概率是多少?
### 输入格式
仅一行包含一个整数 $N$。
### 输出格式
输出 $N$ 行,每行包含 $N$ 个实数,其中第 $i$ 行的第 $j$ 个值表示第 $i$ 个人占据第 $j$ 个挂钩的概率。
对于每个值,只要其绝对误差不超过 $10^{-6}$,即可视为正确。
### 样例输入
```
3
```
### 样例输出
```
0.000000 1.000000 0.000000
0.500000 0.000000 0.500000
0.500000 0.000000 0.500000
```
### 评测数据规模
$1 \leq N \leq 300$。