#include <bits/stdc++.h>
 
using namespace std;
 
using ll = long long;
using P = pair<ll, ll>;
 
#define each(i,a) for (auto&& i : a)
#define FOR(i,a,b) for (ll i = (a); i < (b); ++i)
#define RFOR(i,a,b) for (ll i = (b)-1; i >= (a); --i)
#define REP(i,n) FOR(i,0,n)
#define RREP(i,n) RFOR(i,0,n)
#define __GET_MACRO3(_1,_2,_3,NAME,...) NAME
#define rep(...) __GET_MACRO3(__VA_ARGS__, FOR, REP)(__VA_ARGS__)
#define rrep(...) __GET_MACRO3(__VA_ARGS__, RFOR, RREP)(__VA_ARGS__)
#define pb push_back
#define all(a) (a).begin(),(a).end()
#define chmin(x, v) x = min(x, v)
#define chmax(x, v) x = max(x, v)
 
const ll linf = 1e18;
const double eps = 1e-12;
const double pi = acos(-1);
 
template<typename T>
istream& operator>>(istream& is, vector<T>& vec) {
	each(x, vec) is >> x;
	return is;
}
template<typename T>
ostream& operator<<(ostream& os, const vector<T>& vec) {
	rep(i, vec.size()) {
		if (i) os << " ";
		os << vec[i];
	}
	return os;
}
template<typename T>
ostream& operator<<(ostream& os, const vector<vector<T>>& vec) {
	rep(i, vec.size()) {
		if (i) os << endl;
		os << vec[i];
	}
	return os;
}
int main() {
	ios::sync_with_stdio(false);
	cin.tie(0);
	ll n, h, w; cin >> n >> h >> w;
	ll sum = 0;
	vector<ll> x(n); cin >> x;
	for (ll i = 0; i < n; i += 2) {
		ll x1 = min(x[i], w - x[i+1]);
		ll x2 = max(x[i] + w, 2 * w - x[i+1]);
		sum += (x2 - x1) * h;
	}
	ll ans = h * n * w - sum;
	cout << ans << endl;
}
