let (h, w) =
    stdin.ReadLine().Split(' ')
    |> Array.map int64
    |> fun x -> (x.[0], x.[1])

let isEven x = (x % int64 (2)) = int64 (0)

let isOdd x = (isEven x) = false

let makeEvent x =
    match isEven x with
    | true -> x
    | false -> x - int64 (1)

let result =
    w * ((makeEvent h) / int64 (2)) + match isOdd h with
                                      | true ->
                                          (match isEven w with
                                           | true -> w / int64 (2)
                                           | false -> (w + int64 (1)) / int64 (2))
                                      | false -> int64 (0)

printf "%d" result
