#include <bits/stdc++.h>
using namespace std;
inline int max(int a, int b) { return a > b ? a : b; }
inline int min(int a, int b) { return a < b ? a : b; }
inline int rd() {
  int res = 0, sign = 1;
  char ch;
  while ((ch = getchar()) < '0' || ch > '9')
    if (ch == '-') sign = -1;
  res = res * 10 + ch - 48;
  while ((ch = getchar()) >= '0' && ch <= '9') res = res * 10 + ch - 48;
  return res * sign;
}
unsigned long long x, y;
unsigned long long sum;
int main() {
  x = rd(), y = rd();
  sum = x * y;
  if (x == 1 || y == 1)
    puts("1");
  else
    printf("%llu\n", (sum + 1) / 2);
  return 0;
}
