#cpsco2019s3g. [cpsco2019_s3_g]Grand Election

[cpsco2019_s3_g]Grand Election

问题描述

在偶像团体 ATC48 中,进行了 NN 位偶像的人气投票,每位偶像收到了 a1,a2,,aNa_1, a_2, \ldots, a_N 票。

根据各位偶像的得票数,将奖金分给他们。预先准备了 XX 日元(XX 是正整数)的奖金,并且希望尽可能按比例给予偶像 ii 一个与 aia_i 成比例的奖金。但是,以 A=a1+a2++aNA = a_1 + a_2 + \dots + a_N 为条件,X×aiAX \times \frac{a_i}{A} 并不一定是整数。因此,决定使每个偶像所获得的奖金 x1,x2,,xNx_1, x_2, \ldots, x_N 满足以下条件,以确保它们都是大于等于 00 的整数:

  • x1+x2++xN=Xx_1 + x_2 + \ldots + x_N = X
  • $|\frac{x_1}{a_1} - \frac{X}{A}| + |\frac{x_2}{a_2} - \frac{X}{A}| + \ldots + |\frac{x_N}{a_N} - \frac{X}{A}|$ 取得最小值。

请编写一个程序来输出每个偶像的奖金 x1,x2,,xNx_1, x_2, \ldots, x_N。如果有多种可能的情况,请输出字典序最小的 (x1,x2,,xN)(x_1, x_2, \ldots, x_N)

约束条件

  • 1N1051 \le N \le 10^5
  • 1X1091 \le X \le 10^9
  • 1ai1001 \le a_i \le 100
  • 给定的输入都是整数。

输入

输入以以下格式从标准输入给出。

NN XX a1a_1 a2a_2 \ldots aNa_N

输出

请按顺序逐行输出每位偶像所获得的奖金 x1,x2,,xNx_1, x_2, \ldots, x_N


示例 1

4 100
3 4 5 8

输出 1

15
20
25
40

在这种情况下,可以正好按比例分配奖金。


示例 2

2 100
3 4

输出 2

43
57

在这种情况下,$|\frac{43}{3} - \frac{100}{7}| + |\frac{57}{4} - \frac{100}{7}| = 0.083333…$。


示例 3

6 1000
7 6 1 3 4 1

输出 3

318
273
45
136
182
46

如果有多种可能的情况,输出字典序最小的解。