from collections import * def f(X): V = [-10**18] * (N - 2) Q = deque() val = 0 for i in range(N - 2): Q.append(X[i]) val += X[i] while len(Q) >= 2 and (val < 0 or Q[0] < 0): val -= Q.popleft() V[i] = max(V[i], val) V[i] = max(V[i], val) for i in range(1, N - 2): V[i] = max(V[i], V[i - 1]) return V N, X, Y = map(int, input().split()) A = list(map(int, input().split())) B = list(map(lambda x : X - x, A)) C = list(map(lambda x : Y - x, A)) C.reverse() V1, V2 = f(B), f(C) V2.reverse() S = sum(A) for i in range(N-2): print(S + V1[i] + V2[i])