N, K, X = map(int, input().split()) A = list(map(int, input().split())) dp = [[0] * 2 for _ in range(N + 1)] dp[N][1] = 10 ** 16 # dp[i][j] i+1日目まで済んで、j:1:会員の場合、0:非会員の場合の最小コスト for i, a in enumerate(A): dp[i][0] = min(dp[i - 1][0] + A[i], dp[i - 1][1] + A[i]) dp[i][1] = min(dp[i - 1][0] + X + K, dp[i - 1][1] + K) print(min(dp[N - 1]))