Story

💳

ラテ君はついにクレジットカードを作りました!
でもクレジットカードは、お金を使っている感覚がないので使いすぎないか不安、という悩みもあるようです。

そういう思いもある中で、ラテ君は初めてクレジットカードを使ってお買い物をすることにしました。

問題

ラテ君は、不思議なクレジットカード(以下、カードと言います)を 11 枚だけ持っています。
最初、カードで使える金額は AA 円でした。この金額が 00 を下回ると、新たに BB 円がカード内の残高に支給されます。
この支給はカード内の残額が 00 を下回っている限り繰り返し行われます。

厳密には、現在のカードの残額を yy 円として次のような操作が行われます。

  • xx 円の品物を買ったとき
    • yx0y-x\ge 0 なら yyyxy-x に更新する
    • yx<0y-x\lt 0 なら yyyxy-x に更新し、そのあと y<0y\lt 0 の間だけ y+By+B に更新する

ラテ君は買いたいものが NN 個あり、i (1iN)i\ (1\le i\le N) 個目の品物の値段は TiT_i 円でした。
すべての品物を買い終えた後、ラテ君のカードの残高はいくらになりますか?

入力

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

NNAABB
T1T_1T2T_2\dotsTNT_N

制約

  • 1N1051\le N\le 10^5
  • 1A,B1091\le A,B\le 10^9
  • 1Ti1091\le T_i\le 10^9
  • すべて整数

出力

すべての品物を買った後のラテ君の残高を出力せよ。

入出力例

入力例1
4 400 2000
100 300 400 400
出力例1
1200
  • 1,21,2 個目で使った金額の合計は 100+300=400100+300=400 円で、このとき残額は 400400=0400-400=0 円となります。
  • 33 個目で使った金額は 400400 円ですが、残額を越えてしまいます。そこで B(=2000)B(=2000) 円を残額に追加し、そこから T3(=400)T_3(=400) 円を引きます。よって残額は 0+2000400=16000+2000-400=1600 円となります。
  • 44 個目の金額は 400400 円ですが、残額を越えないので使ったあとの残額は 1600400=12001600-400=1200 円となります。

以上より答えは 12001200 円となります。

入力例2
1 10 400
400
出力例2
10
入力例3
2 400 300
100 300
出力例3
0

ある日の残高が 00 円になったときは新たに 300(=B)300(=B) 円は支給されないことに注意してください。

入力例4
3 200 101
400 400 400
出力例4
10

提出


Go (1.21)