#arc144b. [arc144_b]Gift Tax

[arc144_b]Gift Tax

問題文

aleqba\\leq b を満たす正整数 a,ba, b および,正整数列 A=(A1,A2,ldots,AN)A = (A_1, A_2, \\ldots, A_N) が与えられます.

あなたはこの数列に対して,以下の操作を何度でも行うことができます(00 回でもよいです):

  • 相異なる添字 i,ji, j (1leqi,jleqN1\\leq i, j \\leq N) を選ぶ.AiA_iaa を加え,AjA_j から bb を引く.

操作後の min(A1,A2,ldots,AN)\\min(A_1, A_2, \\ldots, A_N) としてありうる最大値を求めてください.

制約

  • 2leqNleq3times1052\\leq N\\leq 3\\times 10^5
  • 1leqaleqbleq1091\\leq a\\leq b\\leq 10^9
  • 1leqAileq1091\\leq A_i\\leq 10^{9}

入力

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

NN aa bb A1A_1 A2A_2 ldots\\ldots ANA_N

出力

操作後の min(A1,A2,ldots,AN)\\min(A_1, A_2, \\ldots, A_N) としてありうる最大値を出力してください.


入力例 1

3 2 2
1 5 9

出力例 1

5

例えば次のように操作を行うことで, min(A1,A2,A3)=5\\min(A_1, A_2, A_3) = 5 を達成できます.

  • i=1,j=3i = 1, j = 3 として操作を行う.AA(3,5,7)(3, 5, 7) に変化する.
  • i=1,j=3i = 1, j = 3 として操作を行う.AA(5,5,5)(5, 5, 5) に変化する.

入力例 2

3 2 3
11 1 2

出力例 2

3

例えば次のように操作を行うことで, min(A1,A2,A3)=3\\min(A_1, A_2, A_3) = 3 を達成できます.

  • i=1,j=3i = 1, j = 3 として操作を行う.AA(13,1,1)(13, 1, -1) に変化する.
  • i=2,j=1i = 2, j = 1 として操作を行う.AA(10,3,1)(10, 3, -1) に変化する.
  • i=3,j=1i = 3, j = 1 として操作を行う.AA(7,3,1)(7, 3, 1) に変化する.
  • i=3,j=1i = 3, j = 1 として操作を行う.AA(4,3,3)(4, 3, 3) に変化する.

入力例 3

3 1 100
8 5 6

出力例 3

5

一度も操作を行わないことにより, min(A1,A2,A3)=5\\min(A_1, A_2, A_3) = 5 を達成できます.


入力例 4

6 123 321
10 100 1000 10000 100000 1000000

出力例 4

90688