## coding: UTF-8

from decimal import *

s = input().split()

t = [int(p) for p in s]





#print(t)

if(t[0] == 1 or t[1] == 1):

    answer = 1

elif( Decimal(Decimal(t[0]) % 2 )== 1 and Decimal(Decimal(t[1]) % 2) == 1):

    n = Decimal( Decimal(Decimal(t[0]) - 1) // 2  )

    #print(n)

    m = Decimal( Decimal(Decimal(t[1]) - 1) // 2  )

    answer = Decimal(    Decimal(  Decimal(Decimal(m) + 1)     *    Decimal(Decimal(n) + 1)  )   + Decimal( Decimal(m) * Decimal(n) )       )

else:

    answer = Decimal(   Decimal(Decimal(t[0]) * Decimal(t[1])) // 2  )



print((int(answer)))



'''

H = t[0]

W = t[1]

ans = 0

if( W % 2 == 0):

    for i in range(H):

        ans += W / 2

else:

    for i in range(H):

        if(i % 2 == 0):

            ans += W / 2.0 + 0.5

        else:

            ans += W / 2.0 - 0.5

print(int(ans))

'''

H, W = list(map(int,input().split()))



if(H == 1 or W == 1):

    ans = 1

else:

    if(H*W%2 != 0):

        ans = H*W//2 + 1

    else:

        ans = H*W//2

print(ans)
## coding: UTF-8
from decimal import *

s = input().split()
t = [int(p) for p in s]
# print(t)
if t[0] == 1 or t[1] == 1:
    answer = 1
elif Decimal(Decimal(t[0]) % 2) == 1 and Decimal(Decimal(t[1]) % 2) == 1:
    n = Decimal(Decimal(Decimal(t[0]) - 1) // 2)
    # print(n)
    m = Decimal(Decimal(Decimal(t[1]) - 1) // 2)
    answer = Decimal(
        Decimal(Decimal(Decimal(m) + 1) * Decimal(Decimal(n) + 1))
        + Decimal(Decimal(m) * Decimal(n))
    )
else:
    answer = Decimal(Decimal(Decimal(t[0]) * Decimal(t[1])) // 2)
print((int(answer)))
"""
H = t[0]
W = t[1]
ans = 0
if( W % 2 == 0):
    for i in range(H):
        ans += W / 2
else:
    for i in range(H):
        if(i % 2 == 0):
            ans += W / 2.0 + 0.5
        else:
            ans += W / 2.0 - 0.5
print(int(ans))
"""

H, W = list(map(int, input().split()))
if H == 1 or W == 1:
    ans = 1
else:
    if H * W % 2 != 0:
        ans = H * W // 2 + 1
    else:
        ans = H * W // 2
print(ans)

-## coding: UTF-8 -from decimal import * - -s = input().split() -t = [int(p) for p in s] -# print(t) -if t[0] == 1 or t[1] == 1: -    answer = 1 -elif Decimal(Decimal(t[0]) % 2) == 1 and Decimal(Decimal(t[1]) % 2) == 1: -    n = Decimal(Decimal(Decimal(t[0]) - 1) // 2) -    # print(n) -    m = Decimal(Decimal(Decimal(t[1]) - 1) // 2) -    answer = Decimal( -        Decimal(Decimal(Decimal(m) + 1) * Decimal(Decimal(n) + 1)) -        + Decimal(Decimal(m) * Decimal(n)) -    ) +H, W = list(map(int, input().split())) +if H == 1 or W == 1: +    ans = 1 -    answer = Decimal(Decimal(Decimal(t[0]) * Decimal(t[1])) // 2) -print((int(answer))) -""" -H = t[0] -W = t[1] -ans = 0 -if( W % 2 == 0): -    for i in range(H): -        ans += W / 2 -else: -    for i in range(H): -        if(i % 2 == 0): -            ans += W / 2.0 + 0.5 -        else: -            ans += W / 2.0 - 0.5 -print(int(ans)) -""" +    if H * W % 2 != 0: +        ans = H * W // 2 + 1 +    else: +        ans = H * W // 2 +print(ans)