fun main(args: Array<String>) {
    val (n, m) = readLine()?.split(" ")?.map { it.toLong() } ?: return

    // 全検索では間に合わない
    // あるマスが裏返られるパターンは1,2,4,6,9回ある
    // このうち裏返される回数が奇数のパターンに該当するマスが何個あるかを計算する

    // n, mの片方または両方が2以下の場合は特殊なので、
    // まずこれを計算する
    val max = Math.max(n, m)
    val min = Math.min(n, m)
    if (max == 1L && min == 1L) {
        println(1)
        return
    } else if (min == 1L) {
        // 両端以外が奇数回
        println(max - 2)
        return
    } else if (min == 2L) {
        // すべて偶数回
        println(0)
        return
    }

    // これより下は min >= 3 の場合
    // この場合、奇数回になるのは一番外側にくるマス以外全部
    println((n - 2) * (m - 2))
}