N, K, X = map(int, input().split()) A = list(map(int, input().split())) inf = 10 ** 18 dp0 = [inf] * (N + 1) dp1 = [inf] * (N + 1) dp0[0] = 0 for i in range(N): dp0[i + 1] = min(dp0[i + 1], dp0[i] + A[i]) dp1[i + 1] = min(dp1[i + 1], dp0[i] + K + X) dp0[i + 1] = min(dp0[i + 1], dp1[i] + A[i]) dp1[i + 1] = min(dp1[i + 1], dp1[i] + K) print(min(dp0[-1], dp1[-1]))