using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Zad_number_2
{
    internal class Program
    {
        static void Main(string[] args)
        {
            string[] NM = Console.ReadLine().Split(' ');

            int M = int.Parse(NM[0]);
            int N = int.Parse(NM[1]);

            int NXM = N * M;


             int  N1 = N - 2;
             int  M1 = M - 2;

             int Prvired;
             int Drugired;

             int Ukupno;
             int decider;

             int M1Half = M1 / 2;

            if (N1 % 2 == 0)
            {
                // parno
                Prvired = N1 / 2;
                Drugired = Prvired;
                decider = 1;
            }
            else
            {
                // neparno
                Prvired = (N1 / 2) + 1;
                Drugired = Prvired - 1;
                decider = 0;
            }

            if (M1 % 2 == 0)
            {

                if (decider == 1)
                {
                    // parni

                    Ukupno = M1 * Prvired;
                  
                }
                else
                {
                    // N neparan M paran
                   
                    Ukupno = M1Half * Prvired + M1Half * Drugired;

                }

            }
            else
            {

                if (decider == 1)
                {
                    // N paran M neparan

                    Ukupno = M1 * Prvired;
                }
                else
                {
                    // neparni
                    Ukupno = (M1Half + 1) * Prvired + M1Half * Drugired;
                }

            }


            int Write = NXM - Ukupno;

            

            Console.WriteLine(Write);
            Console.ReadLine();







        }
    }
}