import sys

sys.setrecursionlimit(10 ** 6)
int1 = lambda x: int(x) - 1
p2D = lambda x: print(*x, sep="\n")
def MI(): return map(int, sys.stdin.readline().split())
def MF(): return map(float, sys.stdin.readline().split())
def LI(): return list(map(int, sys.stdin.readline().split()))
def LF(): return list(map(float, sys.stdin.readline().split()))
def LLI(rows_number): return [LI() for _ in range(rows_number)]

def main():
    r,c=MI()
    if r==c:
        if r%2:ans=(r**2+3)//4
        else:ans=r**2//4
    else:
        if r*c%2:ans=(r*c+1)//2
        else:ans=r*c//2
    print(ans-1)

main()