def oi(): return int(input()) def os(): return input() def mi(): return list(map(int, input().split())) # import sys # input = sys.stdin.readline # import sys # sys.setrecursionlimit(10**8) # import pypyjit # pypyjit.set_param('max_unroll_recursion=-1') input_count = 0 input_count = 0 N,X,Y = mi() A = mi() def calcList(A, NUM): acc = NUM-A[0] R = [NUM-A[0]] mins = min(0, NUM-A[0]) maxs = NUM-A[0] for a in A[1:]: acc += (NUM-a) maxs = max(maxs, acc - mins) R.append(maxs) mins = min(mins, acc) return R R = calcList(A,X) L = calcList(A[::-1], Y) L = L[::-1] sums = sum(A) for l, r in zip(L[2:],R[:-2]): print(l+r+sums)