Problem: There are water tanks in a row, -th of them contains liters of water. The tanks are numbered from to from left to right.
You can perform the following operation: choose some subsegment (), and redistribute water in tanks evenly. In other words, replace each of by . For example, if for volumes you choose , new volumes of water will be . You can perform this operation any number of times.
What is the lexicographically smallest sequence of volumes of water that you can achieve?
As a reminder:
A sequence is lexicographically smaller than a sequence of the same length if and only if the following holds: in the first (leftmost) position where and differ, the sequence has a smaller element than the corresponding element in .
Input Format: The first line contains an integer () — the number of water tanks.
The second line contains integers () — initial volumes of water in the water tanks, in liters.
Because of large input, reading input as doubles is not recommended.
Output Format: Print the lexicographically smallest sequence you can get. In the -th line print the final volume of water in the -th tank.
Your answer is considered correct if the absolute or relative error of each does not exceed .
Formally, let your answer be , and the jury's answer be . Your answer is accepted if and only if for each .
Note: In the first sample, you can get the sequence by applying the operation for subsegment .
In the second sample, you can't get any lexicographically smaller sequence.