Bobo 想要使用拒绝采样算法来构造一个大小为 $k$ 的随机集合 $T \subset \{1, 2, \dots, n\}$。对于参数 $p_1, p_2, \dots, p_n$ ($0 \le p_i \le 1$) 和整数 $k$,拒绝采样器定义如下:
- 初始化 $T \leftarrow \emptyset$;
- 对于每个 $i$ ($1 \le i \le n$),以概率 $p_i$ 将 $i$ 加入 $T$;
- 如果 $T$ 的大小恰好为 $k$,则输出 $T$;否则,重复上述过程。
现在给定整数 $a_1, a_2, \dots, a_n$ 和 $k$。Bobo 需要设置参数 $p_1, p_2, \dots, p_n$ 满足:
- $\sum_{i=1}^n p_i = k$;
- 对于所有满足 $|S| = k$ 的 $S \subseteq \{1, 2, \dots, n\}$,拒绝采样器输出 $S$ 的概率与 $\prod_{i \in S} a_i$ 成正比。
你的任务是为 Bobo 找出参数 $p_1, p_2, \dots, p_n$。保证这样的参数存在且唯一。如果每个 $p_i$ 与唯一正确答案的绝对误差不超过 $10^{-6}$,则你的答案被视为正确。
输入格式
第一行包含两个整数 $n$ 和 $k$ ($2 \le n \le 10^5$, $1 \le k \le n - 1$)。 第二行包含 $n$ 个整数 $a_1, a_2, \dots, a_n$ ($1 \le a_i \le 10^9$)。
输出格式
输出 $n$ 行。第 $i$ 行包含一个实数 $p_i$。 如果你的答案为 $a$,标准答案为 $b$,则当且仅当对于所有参数满足 $|b - a| \le 10^{-6}$ 时,你的答案被接受。
样例
样例输入 1
3 2 5 5 5
样例输出 1
0.666666666667 0.666666666667 0.666666666667
样例输入 2
2 1 1 4
样例输出 2
0.333333333333 0.666666666667
样例输入 3
4 2 1 2 3 4
样例输出 3
0.310035697652 0.473324044845 0.574114878920 0.642525378583