

data class Section(val from:Int, val to:Int) {
    fun shift(diff:Int):Section = Section(from + diff, to + diff)
    fun intersection(that:Section): Int = (minOf(this.to, that.to) - maxOf(this.from, that.from) + 1).let{if (it >= 0) it else 0}
}
fun main(args:Array<String>): Unit {
    val (n, h, w) = readLine()!!.trim().split(' ').map(String::toInt)
    val instructions = readLine()!!.trim().split(' ').map(String::toInt).toIntArray()
    var openArea = 0
    for (i in 0 until n / 2){
        val left = Section(0, w - 1).shift(instructions[i * 2])
        val right = Section(w, w * 2 - 1).shift(-instructions[i * 2 + 1])
        openArea += left.intersection(right) * h
    }
    println(openArea)
}
