Module
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 128 M,其他语言256 M
64bit IO Format: %lld

题目描述

MINIEYE's engineer M developed an automated test platform. M designed n test cases for the algorithm product (marked from 0 to n-1). It will take too much time if we run all test cases on every algorithm version, thus the test platform takes below strategies:


Assign test cases randomly on m independent test machines (marked from 0 to m-1), and then do k test rounds for a certain algorithm version. For every test round, choose one test machine randomly in m test machines, run the assigned test case on it and then delete this test case on it and assign the next case to this machine. For example, if ith test machine is chosen on this round, and test case r is currently assigned to i, then we will run r on i and delete r on i, then assign (r+1) mod n to i. So at any time every machine will have exactly one test case on it.

M's test platform is quite efficient, but in actual test, M needs to monitor the distribution of the test cases among the test machines. Given that the test case i is assigned to Ai different machines  before the test, M has a question for you: after k test rounds, for every test case i, calculate the expected number of test machines that currently has ith test case.

输入描述:

Input the first row which includes a positive integer n, n is within 103, to represent the number of test points; and a positive integer m, m is within 109, to represent the number of test machines; and a positive integer k, k is within 1018 to represent test times. 

The second row has n integers, A0,A1,…,An-1, which represent the number of test machines each test point deployed to. 

输出描述:

Output one row which includes n integers, E0,E1,…,En-1.Ei represents the number of test machines test point i expectantly deployed to.

示例1

输入

复制
2 3 2
3 0

输出

复制
1.7 1.3

说明

At
the first round, choose one test machine randomly in 3 test machines. And there
will be 2 test machines having the test case 0, and the other one will have the
test case 1.

At
the second round, the probability of choosing a test machine with test case 0
is 2/3, resulting 1 machine with case 0, 2 machines with case 1. And the
probability of choosing a test machine with case 1 is 1/3, resulting 3 machines
with case 0.