output_description: Print the number of squares the bishop can reach.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      H \ W
attempt: HK = input().split(" ")
  H = int(HK[0])
  K = int(HK[1])
  if K % 2 == 1 and H % 2 == 1:
      print(round(H * K / 2) + 1)
  else:
      print(int(H * K / 2))
  
problem_description: Statement
  
  We have a board with H horizontal rows and W vertical columns of squares.
  There is a bishop at the top-left square on this board. How many squares can
  this bishop reach by zero or more movements?
  
  Here the bishop can only move diagonally. More formally, the bishop can move
  from the square at the r_1-th row (from the top) and the c_1-th column (from
  the left) to the square at the r_2-th row and the c_2-th column if and only if
  exactly one of the following holds:
  
    * r_1 + c_1 = r_2 + c_2
    * r_1 - c_1 = r_2 - c_2
  
  For example, in the following figure, the bishop can move to any of the red
  squares in one move:
  
  ![](https://img.atcoder.jp/panasonic2020/943f3f8428e6f8328924ff99681c932b.png)
samples: [{"input": "4 5", "output": "10\n    \n\nThe bishop can reach the cyan squares in the following figure:\n\n![](https://img.atcoder.jp/panasonic2020/b218e01560fe6e40e7d082ca57a64e6e.png)\n\n* * *"}, {"input": "7 3", "output": "11\n    \n\nThe bishop can reach the cyan squares in the following figure:\n\n![](https://img.atcoder.jp/panasonic2020/088830f8a244d99a9f95d20bf9a8d336.png)\n\n* * *"}, {"input": "1000000000 1000000000", "output": "500000000000000000"}]