C - 掛け算 Editorial /

Time Limit: 2 sec / Memory Limit: 256 MB

問題文

N 個の整数 a_1, a_2, ..., a_N が与えられるので、一番小さいものを A 倍する、という操作を B 回行います。

この結果できた整数たちを昇順に並べ、順番に出力してください。

ただし出力するときは、出力したい数を 10^9 + 7 で割ったあまりを出力するようにしてください。

なお、10^9+7 で割ったあまりを昇順に並べる、というわけではないことに注意してください。

制約

  • 1 ≦ N ≦ 50
  • 1 ≦ a_i ≦ 1,000,000,000
  • 1 ≦ A, B ≦ 1,000,000,000
  • A は整数である

入力

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

N A B
a_1 a_2 ... a_N

出力

N 行出力する。

i 行目には、並べ換えた後の i 番目の整数を 10^9+7 で割ったあまりを出力する。


入力例1

3 10 3
1 99 10

出力例1

99
100
100

入力例2

2 100001 2
1 200000

出力例2

200000
199931

操作の結果、20000, 100002000012 つの整数ができます。10^9+7 で割ったあまりを出力することに注意してください。


入力例3

10 123 1000000000
394632992 714094234 84420 5 3439891 3395 35 58 5001 730

出力例3

954804718
385989482
948741792
268211139
100694402
492858064
955116743
68100851
154525400
479209143