#arc118b. [arc118_b]Village of M People

[arc118_b]Village of M People

問題文

ARC 国には NN 人の国民がおり、全国民が競技プログラミングのプレイヤーです。各国民にはその競技プログラミングの実力によって、1,2,ldots,K1, 2, \\ldots, K のいずれかひとつの段位が与えられています。

ARC 国では国勢調査が行われて、その結果、段位 ii の国民はちょうど AiA_i 人居ることが分かりました。ARC 国の国王はこの統計データをより理解しやすい形にするために、なるべく各段位の人数の割合を保ったまま、ARC 国の状況を MM 人の村に例えることにしました。

MM 人の村における段位 ii の村民の人数 BiB_i を上手く定めることで、$\\max_i\\left|\\frac{B_i}{M} - \\frac{A_i}{N}\\right|$ を最小にしてください。ただし、次が成り立つ必要があります。

  • BiB_i は非負整数で、sumi=1KBi=M\\sum_{i=1}^K B_i = M を満たす

そのような B=(B1,B2,ldots,BK)B = (B_1, B_2, \\ldots, B_K) の定め方を、ひとつ出力してください。

制約

  • 1leqKleq1051\\leq K\\leq 10^5
  • 1leqN,Mleq1091\\leq N, M\\leq 10^9
  • AiA_i は非負整数で、sumi=1KAi=N\\sum_{i=1}^K A_i = N を満たす

入力

入力は以下の形式で標準入力から与えられます。

KK NN MM A1A_1 A2A_2 ldots\\ldots AKA_K

出力

条件を満たす整数列 BB の各要素を、空白で区切って 11 行で出力してください。

B1B_1 B2B_2 ldots\\ldots BKB_K

条件を満たす整数列が複数存在する場合は、どれを出力しても正解となります。


入力例 1

3 7 20
1 2 4

出力例 1

3 6 11

この出力において、$\\max_i\\left|\\frac{B_i}{M} - \\frac{A_i}{N}\\right| = \\max\\left(\\left|\\frac{3}{20}-\\frac{1}{7}\\right|, \\left|\\frac{6}{20}-\\frac{2}{7}\\right|, \\left|\\frac{11}{20}-\\frac{4}{7}\\right|\\right) = \\max\\left(\\frac{1}{140}, \\frac{1}{70}, \\frac{3}{140}\\right) = \\frac{3}{140}$ となっています。


入力例 2

3 3 100
1 1 1

出力例 2

34 33 33

和を M=100M = 100 にしなければならないので、B1=B2=B3=33B_1 = B_2 = B_3 = 33 では 条件が満たされないことに注意してください。

なおこの例においては、34 33 33 の他、33 34 3333 33 34 という出力も正解となります。


入力例 3

6 10006 10
10000 3 2 1 0 0

出力例 3

10 0 0 0 0 0

入力例 4

7 78314 1000
53515 10620 7271 3817 1910 956 225

出力例 4

683 136 93 49 24 12 3