import qualified Data.Text as T
import qualified Data.Text.IO as T
import qualified Data.Text.Read as T

main :: IO ()
main = do
  (h : w : _) <- map unsafeTextToInt . T.words <$> T.getLine :: IO [Integer]
  let
    (a, b) = h `divMod` 2
    (c, d) = w `divMod` 2
  print $ (2 * a + b) * c + (a + b) * d

unsafeTextToInt :: T.Text -> Int
unsafeTextToInt s = case T.signed T.decimal s of
  Right (n, _) -> n
