Problem:
 Score : 100 points    Problem Statement There is a right triangle ABC with ∠ABC=90° .  Given the lengths of the three sides, |AB|,|BC| and |CA| , find the area of the right triangle ABC .  It is guaranteed that the area of the triangle ABC is an integer.      Constraints  1 \leq |AB|,|BC|,|CA| \leq 100  All values in input are integers.  The area of the triangle ABC is an integer.         Input Input is given from Standard Input in the following format:  |AB|  |BC|  |CA|       Output Print the area of the triangle ABC .        Sample Input 1 3 4 5      Sample Output 1 6   This triangle has an area of 6 .       Sample Input 2 5 12 13      Sample Output 2 30  This triangle has an area of 30 .       Sample Input 3 45 28 53      Sample Output 3 630  This triangle has an area of 630 .

Solution (Python):
INPUT = list(map(int,input().split()))
AB=INPUT[0]
BC=INPUT[1]
CA=INPUT[2]

print('{:.0f}'.format(AB*BC/2))

Solution (Python):
a,b,c=map(int,input().split())
print((a*b)//2)

Solution (Python):
a, b, c = map(int, input().split())
print((a*b)//2)

Solution (Python):
AB, BC, CA = tuple(map(int, input().split()))
print(AB * BC // 2)

Solution (Python):
A, B, C = map(int, input().split())
print(A*B//2)

Solution (Python):
a,b,c = map(int, input().split())
print("%i" %((a*b)/2))

Solution (Python):
a,b,c=map(int,input().split())
if a>b and a>c:
    ans=(0.5)* b * c
elif b>a and b>c:
    ans=(0.5)* a * c
else:
    ans = (0.5) * a * b

print(int(ans))

Solution (Python):
a,b,c = map(int,input().split())
print(int((a*b)/2))

Solution (Python):
a,b,c=map(int,input().split())
print(a*b//2)

Solution (Python):
'''
A - Right Triangle
https://atcoder.jp/contests/abc116/tasks/abc116_a

>>> main(3, 4, 5)
6
>>> main(5, 12, 13)
30
>>> main(45, 28, 53)
630
'''


def main(ab, bc, ca):
    print((ab * bc) // 2)


if __name__ == '__main__':
    ab, bc, ca = map(int, input().split(' '))

    main(ab, bc, ca)

Solution (Python):
a,b,c = map(int,input().split())
print(int(0.5*a*b))

Solution (Python):
a,b,c = map(int,input().split())
print(round(0.5*a*b))

Solution (Python):
l = list(map(int, input().split()))

l.sort()
print(int((l[0]*l[1])/2))

Solution (Python):
def slove():
    import sys
    input = sys.stdin.readline
    a, b, c = list(map(int, input().rstrip('\n').split()))
    print(a * b // 2)


if __name__ == '__main__':
    slove()

Solution (Python):
import sys

input = sys.stdin.readline


def main():
    a, b, c = map(int, input().split())
    print(a * b // 2)


if __name__ == "__main__":
    main()

Solution (Python):
L = sorted(list(map(int, input().split())))
print(L[0]*L[1]//2)

Solution (Python):
ab, bc, ca = map(int, input().replace('|', '').split())
print((ab * bc) // 2)

Solution (Python):
a,b,_=map(int, input().split())
print(int(a*b/2))

Solution (Python):
a, b, c = map(int, input().split())
print((a*b)//2)

Solution (Python):
X = sorted(list(map(int, input().split())))
print(X[0]*X[1]//2)

Solution (Python):
a,b,c=map(int,input().split())
print(int(a*b/2))

Solution (Python):
a,b,c=map(int,input().split())
print(int((a*b)/2))

Solution (Python):
ab, bc, ca = map(int, input().split())
print(ab * bc //2)

Solution (Python):
a,b,_=map(int,input().split());print(a*b//2)

Solution (Python):
A,B,C=map(int,input().split())
print(A*B//2)

Solution (Python):


a, b, c = map(int, raw_input().split())

ans = (a * b) / 2

print ans

Solution (Python):
ls=[int(s) for s in input().split()]
ls.sort()
print((ls[0]*ls[1])//2)

Solution (Python):
A,B,C = map(int,input().split())
print( B * A // 2 )

Solution (Python):
a,b,c=map(int,input().split())
s=int((a*b)/2)
print(s)

Solution (Python):
AB,BC,CA = map(int,input().split(" "))

print(int((AB*BC)/2))

Solution (Python):
l = sorted([int(i) for i in input().split()])
print((l[0]*l[1])//2)

Solution (Python):

AB, BC, CA = map(int, input().split())
print(int(AB * BC / 2))

Solution (Python):
a,b,c = map(int, input().split())
print(a*b//2)

Solution (Python):
a,b,c = map(int,input().split())
print(a*b//2)

Solution (Python):
import sys
sys.setrecursionlimit(2147483647)
INF=float("inf")
MOD=10**9+7
input=lambda :sys.stdin.readline().rstrip()
def resolve():
    A=list(map(int,input().split()))
    A.sort()
    print(A[0]*A[1]//2)
resolve()

Solution (Python):
ab, bc, _ = map(int, input().split())

print(ab * bc // 2)

Solution (Python):
ab, bc, ca = map(int, input().split())

print( int(ab * bc /2))

Solution (Python):
a, b, c=map(int, input().split())
print(a*b//2)

Solution (Python):
AB, BC, CA = map(int, input().split())
print(int(AB * BC / 2))

Solution (Python):
e = sorted(list(map(int, input().split())))

print(e[0]*e[1]//2)

Solution (Python):
a, b, c = map(int, input().split())
print(a*b//2)

Solution (Python):
ab,bc,ca = map(int,input().split())

print(ab*bc//2)

Solution (Python):
a = list(map(int, input().split()))

a.sort()

print((a[0] * a[1]) // 2)

Solution (Python):
A, B, C = map(int, input().split())
print(int((A*B)/2))

Solution (Python):
AB, BC, CA=map(int,input().split())
triangle=AB*BC/2
print(int(triangle))

Solution (Python):
a,b,c=sorted(map(int,input().split()),reverse=False)
print(a*b//2)

Solution (Python):
AB,BC,CA = map(int, input().split())

print(AB * BC // 2)

Solution (Python):
a,b,c=map(int,input().split())
print(int(a*b/2))

Solution (Python):
a, b, c = map(int, input().split())
print(a*b//2)

Solution (Python):
a,b,c=map(int,input().split())
print(a*b//2)

Solution (Python):
a,b,c = map(int,input().split())
print((a*b)//2)

Solution (Python):
AB, BC, _ = map(int, input().split())
print(AB*BC//2)

Solution (Python):
a, b, c = map(int,input().split())
print(a * b // 2)

Solution (Python):
c, a, b = map(int, input().split())
print(int(c * a / 2))

Solution (Python):
A=list(map(int,input().split()))
A.sort()
print(round(A[0]*A[1]/2))

Solution (Python):
a, b, c = map(int, input().split())
print(a * b // 2)

Solution (Python):
a,b,c = map(int, input().split())
print(a*b //2)

Solution (Python):
a,b,c = map(int, input().split())
print(int(a*b //2))

Solution (Python):
A,B,C = map(int,input().split())
print(A*B//2)

Solution (Python):
arr = [int(x) for x in input().split()]
arr = sorted(arr)
print(arr[0]*arr[1]//2)

Solution (Python):
x, y, z = list(map(int, input().split()))
print(x * y // 2)

Solution (Python):
ab,bc,ca=map(int, input().split())
print(int(ab*bc/2))

Solution (Python):
AB, BC, CA = map(int,input().split())
print(int(AB*BC/2))

Solution (Python):
a,b,c = map(int,input().split())
print(a*b//2)

Solution (Python):
a = list(map(int,input().split()))
a.sort()
print((a[0]*a[1])//2)

Solution (Python):
a,b,c=map(int,input().split())
print(a*b//2)

Solution (Python):
c,a,b=map(int,input().split())
print(c*a//2)

Solution (Python):
a,b,c=map(int,input().split())
print(a*b//2)

Solution (Python):
ab, bc, ca = map(int, input().split())
print(ab * bc // 2)

Solution (Python):
A,B,C = [int(x) for x in input().split()]
ans = [(A*B)//2,(A*C)//2,(B*C)//2]
print(min(ans))

Solution (Python):
if __name__ == '__main__':
    AB, BC, CA = map(int, input().split())
    print(AB*BC//2)

Solution (Python):

a,b,c=map(int,input().split())
print(a*b//2)

Solution (Python):

a,b,c=map(int,input().split())
print(a*b//2)

Solution (Python):
a,b,c = map(int,input().split())
print( a * b//2)

Solution (Python):
a,b,c=map(int,input().split())
print(a*b//2)

Solution (Python):
a, b, c = map(int, input().split())
print(int((a*b)/2))

Solution (Python):
x,y,z = input().split()
x,y,z = int(x), int(y), int(z)
 
print(int(x*y*0.5))

Solution (Python):
l = list(map(int, input().split()))
print(l[0] * l[1] // 2)

Solution (Python):
a, b, c = map(int, input().split())
s = ( (a+b+c)*(b+c-a)*(a+b-c)*(a+c-b) ) ** (1/2) // 4
print(int(s))

Solution (Python):
a,b,c=map(int,input().split())
print(a*b//2)

Solution (Python):

a,b,c=map(int,input().split())
print((a*b)//2)

Solution (Python):
a,b,_ = map(int,input().split())
print(a*b//2)

Solution (Python):
a,b,c=map(int,input().split());print(a*b//2)

Solution (Python):
a,b,c=map(int,input().split())
print(a*b//2)

Solution (Python):
a,b,c=map(int,input().split())
print(a*b//2)

Solution (Python):
a, b, c = map(int, input().split())
print(a * b // 2)

Solution (Python):
a,b,c=map(int,input().split())
print(a*b//2)

Solution (Python):
a,b,c=map(int,input().split())
print(a*b//2)

Solution (Python):
a,b,c=map(int,input().split())
print(a*b//2)

Solution (Python):
a=list(map(int,input().split()))
a.sort()
print(a[0]*a[1]//2)

Solution (Python):
AB,BC,CA=map(int,input().split())
S=1/2*AB*BC
print(int(S))

Solution (Python):
A = list(map(int, input().split()))
print(A[0] * A[1] //2)

Solution (Python):
a, b, c = map(int, input().split())
print(a * b//2)

Solution (Python):
a, b, c = map(int, input().split())
print(a * b//2)

Solution (Python):
a,b,c=map(int,input().split())
print(a*b//2)

Solution (Python):
x, y, z = map(int, input().split())
print(x * y // 2)

Solution (Python):
AB, BC, CA = map(int,input().split())
print(AB * BC // 2)

Solution (Python):
import sys

if sys.platform =='ios':
    sys.stdin=open('input_file.txt')
    
a,b,c=map(int,input().split())



print((a*b)//2)

Solution (Python):
n = list(map(int, input().split()))
print(int(n[0]*n[1]/2))

Solution (Python):
AB, BC, CA = map(int, input().split())
print(AB * BC // 2)

Solution (Python):
a, b, c = map(int,  input().split())

print(int(a*b/2))

Solution (Python):
l,m,n = map(int,input().split())
print(int(l*m/2))

Solution (Python):
s=list(input().split())
a=int(s[0])
b=int(s[1])

D=int(a*b/2)

print(D)

Solution (Python):
ab, bc, ca = map(int, input().split())
print(ab*bc//2)

Solution (Python):
a, b, _= map(int, input().split())

print((a*b)//2)

Solution (Python):
a, b, c = map(int, input().split())
print((a*b)//2)

Solution (Python):
c, a, b = map(int, input().split())
r = a*c//2
print(r)

Solution (Python):
ls = sorted(map(int, input().split()))
print(ls[0] * ls[1] // 2)

Solution (Python):
a, b, _ = map(int, input().split())
print(int(a * b / 2))

Solution (Python):
AB,BC,CA = map(int, input().split())
print(int(BC * AB / 2))

Solution (Python):

ab, bc, ca = map(int, input().split())
print(int(ab*bc/2))

Solution (Python):
AB, BC, CA = map(int, input().split())
print(AB * BC // 2)

Solution (Python):
c,a,b = map(int,input().split())
print(a*c//2)

Solution (Python):
a=sorted(list(map(int,input().split())))
print(a[0]*a[1]//2)

Solution (Python):

a, b, c = map(int, input().split())
print(a*b//2)

Solution (Python):
AB,BC,CA=map(int, input().split())
print(int(AB*BC/2))

Solution (Python):
ab, bc, ca = map(int, input().split())
print(ab * bc // 2)

Solution (Python):
a,b,c=map(int,input().split());print(a*b//2)

Solution (Python):
AB,BC,CA = map(int,input().split())

print(AB*BC//2)

Solution (Python):
a,b,c=map(int,input().split())
print(a*b//2)

Solution (Python):
s = list(map(int,input().split()))
s.sort()
print(int(s[0]*s[1]/2))

Solution (Python):
x,y,z = map(int, input().split())
print(x*y//2)

Solution (Python):
a,b,c = map(int,input().split())
print(a*b//2)

Solution (Python):
a, b, c = map(int, input().split())
print(int(a*b/2))

Solution (Python):
import sys
input = sys.stdin.readline


A,B,C = map(int,input().split())
print(A*B//2)

Solution (Python):
AB, BC, CA = map(int, input().split())

print(AB * BC // 2)

Solution (Python):
a,b,c = map(int, input().split())
print(a * b // 2)

Solution (Python):
ab, bc, ca = map(int,input().split())
print(int(ab * bc * ca / max(ab, bc, ca) /2))

Solution (Python):
A,B,C = map(int, input().split())
print(A*B//2)

Solution (Python):
ab,bc,ca = map(int, input().split())

s = (ab * bc) / 2

print(int(s))

Solution (Python):
a,b,c=map(int,input().split())
print(a*b//2)

Solution (Python):
a, b, c = map(int,input().split())
print(int(min(a*b/2,b*c/2,c*a/2)))

Solution (Python):
a,b,c= map(int,input().split())
if c > a and c > b:
    print(int(a*b/2))
elif b > a and b > c:
    print(int(a*c/2))
else:
    print(int(b*c/2))

Solution (Python):
abc=[int(x) for x in input().split()]
abc.sort()

print(abc[0]*abc[1]//2)

Solution (Python):
a, b, c = map(int, input().split(" "))

print(a * b // 2)

Solution (Python):
a, b, c = map(int,input().split())
print(a*b//2)

Solution (Python):
a,b,c = map(int,input().split())
print(a*b//2)

Solution (Python):
A,B,C = map(int,input().split())

print(int(A*B/2))

Solution (Python):
a,b,c=map(int,input().split())
print(a*b//2)

Solution (Python):
a,b,c=map(int,input().split())
print(int(a*b/2))

Solution (Python):
ab,bc,ca=map(int,input().split())
print(ab*bc//2)

Solution (Python):
L = list(map(int, input().split()))
L = sorted(L)
 
print(L[0]*L[1]//2)

Solution (Python):
a,b,_ = map(int,input().split(' '))

print(int(a*b/2))

Solution (Python):
a,b,c=map(int,input().split())
print(a*b//2)

Solution (Python):
a,b,c=map(int,input().split())
print(a*b//2)

Solution (Python):
a, b, c = map(int, input().split())
print(a*b // 2)

Solution (Python):
a, b, _ = map(int, input().split())
print(int(a * b / 2))

Solution (Python):
a, b, c = map(int, input().split())
print((a*b)//2)

Solution (Python):
AB, BC, CA = map(int, input().split())
print(AB * BC // 2)

Solution (Python):
a,b,c =map(int, input().split())
print(int(a*b/2))

Solution (Python):
ab,bc,ca=map(int,input().split())
result=(bc*ab)/2
print(int(result))

Solution (Python):
source = input().split()
AB, BC, CA = int(source[0]), int(source[1]), int(source[2])
print(int(AB * BC / 2))

Solution (Python):
ab,bc,ca = map(int,input().split())
print(int(ab*bc/2))

Solution (Python):
a, b, c = sorted(map(int,input().split()))
print((a*b)//2)

Solution (Python):
a, b, c = map(int, input().split())
print(int(a * b / 2))

Solution (Python):
AB,BC,CA = map(int,input().split())
print(AB*BC//2)

Solution (Python):
a,b,c = map(int,input().split())
print(a*b//2)

Solution (Python):
a,b,c = map(int, input().split())
print(a*b//2)

Solution (Python):

AB,BC,CA = list(map(int, input().split()))
print(int(AB*BC/2))

Solution (Python):
ab,bc,ca = map(int,input().split())
print(ab*bc//2)

Solution (Python):


abc = list(map(int, input().split()))

abc.sort()

print(int(abc[0]*abc[1]/2))

Solution (Python):
x, y, z = map(int, input().split())
print(x*y//2)

Solution (Python):
As = list(sorted(map(int, input().split())))
print((As[0] * As[1] // 2))

Solution (Python):
a,b,c=map(int,input().split())
print(a*b//2)

Solution (Python):
ab, bc, ca = map(int, input().split())
print(ab * bc // 2)

Solution (Python):
A, B, C = sorted(map(int,input().split()))
print(A*B//2)

Solution (Python):
a,b,c=map(int,input().split())
print(a*b//2)

Solution (Python):
AB,BC,CA = list(map(int,input().split()))
print(AB*BC//2)

Solution (Python):
a, b , c = map(int, input().split())
print(int(a * b / 2))

Solution (Python):
AB, BC, CA = map(int, input().split())

ans = int(AB*BC/2)

print(ans)

Solution (Python):
a,b,c=map(int,input().split())
print(int(a*b/2))

Solution (Python):
a,b,c=sorted(map(int,input().split()))
print(a*b//2)

Solution (Python):
a, b, c = map(int, input().split())
print(int(a * b / 2))

Solution (Python):
import sys, re
from collections import deque, defaultdict, Counter
from math import ceil, sqrt, hypot, factorial, pi, sin, cos, radians
from itertools import permutations, combinations, product
from operator import itemgetter, mul
from copy import deepcopy
from string import ascii_lowercase, ascii_uppercase, digits

def input(): return sys.stdin.readline().strip()
def INT(): return int(input())
def MAP(): return map(int, input().split())
def LIST(): return list(map(int, input().split()))
sys.setrecursionlimit(10 ** 9)
INF = float('inf')
MOD = 10 ** 9 + 7

AB, BC, CA = [int(x.strip("|")) for x in input().split()]
print(int(AB*BC/2))

Solution (Python):
def main():
    A = list(map(int,input().split()))

    A.remove(max(A))

    print(int(A[0]*A[1]/2))


main()

Solution (Python):
A,B,_ = map(int,input().split())
print(A*B//2)

Solution (Python):

a, b, c = map(int, input().split())
print((a * b)//2)

Solution (Python):
a, b, c = map(int, input().split())


print(a * b // 2)

Solution (Python):
a=list(map(int,input().split()))
a.sort()
print(a[0]*a[1]//2)

Solution (Python):
a, b, _ = map(int, input().split())
print(a*b//2)

Solution (Python):
ab, bc, ca = map(int, input().split())
if  1 <= ab <= 100 and 1 <= bc <= 100 and 1 <= ca <= 100:
    print(int(ab * bc / 2))
else:
    print('hoge!')

Solution (Python):
AB,BC,CA = list(map(int,input().split()))
print(AB*BC//2)

Solution (Python):
a,b,c = map(int,input().split())
print(int((a*b)/2))

Solution (Python):
a = sorted(list(map(int, input().split())))

print(int(a[0]*a[1]/2))

Solution (Python):
a, b, c = map(int,input().split())
 
print(int(a*b/2))

Solution (Python):
x,y,z = map(int,input().split())	
print(int(x*y/2))

Solution (Python):
a,b,c = map(int,input().split())
print(a*b//2)

Solution (Python):
a, b, c = map(int, input().split())
print(int(a * b / 2))

Solution (Python):
a=input().split()
print(int(a[0])*int(a[1])//2)

Solution (Python):
AB,BC,CA=map(int,input().split())
print(AB*BC//2)

Solution (Python):
AB,BC,CA=map(int,input().split())
print(int(AB*BC//2))

Solution (Python):
a, b, c = map(int, input().split())
print(a*b//2)

Solution (Python):
a, b, c = map(int, input().split())
print(int(a * b / 2))

Solution (Python):
a,b,c=map(int,input().split())
print(int(a*b/2))

Solution (Python):
ab, bc, ca = map(int, input().split())
print(ab*bc//2)

Solution (Python):
a,b,c=map(int,input().split())
print(a*b//2)

Solution (Python):
a, b, c = map(int, input().split())
s = a * b / 2
print(int(s))

Solution (Python):
a,b,c = map(int, input().split())
print(a*b//2)

Solution (Python):
a,b,c=sorted(map(int,input().split()))
print((b*a)//2)

Solution (Python):
ab,bc,ca=map(int,input().split())
print(int(ab*bc/2))

Solution (Python):
a,b,c=map(int,input().split())
print(int(a*b/2))

Solution (Python):
a,b,c=map(int,input().split())
print(a*b*c//max(a,b,c)//2)

Solution (Python):
def main():
    AB, BC, CA = map(int, input().split())
    return AB * BC // 2

if __name__ == '__main__':
    print(main())

Solution (Python):
a,b,c = map(int,input().split())
print(a*b//2)

Solution (Python):
a,b,c = map(int,input().split())
print(int(a*b/2))

Solution (Python):
a,b,c=map(int, input().split())
ans=(a*b)//2
print(ans)

Solution (Python):
a,b,_ = map(int,input().split())
print(a*b//2)

Solution (Python):
ab, bc, ca = map(int, input().split())
print(ab * bc // 2)

Solution (Python):
a,b,c = map(int,input().split())
print(int(1/2*a*b))

Solution (Python):
a, b, c = map(int, input().split())
print(int(a*b/2))

Solution (Python):
c,a,b=map(int,input().split())
print(c*a//2)

Solution (Python):
a,b,c=map(int,input().split())
print(int(b*a/2))

Solution (Python):
l = list(map(int, input().split()))
print((l[0]*l[1])//2)

Solution (Python):
a,b,_ = map(int,input().split())

print(a*b//2)

Solution (Python):


ab, bc, ca = map(int, input().split())
ab, bc, _ = sorted([ab, bc, ca])

ans = ab * bc // 2
print(ans)

Solution (Python):
AB, BC, _ = map(int, input().split())

print((AB*BC)//2)

Solution (Python):
ab,bc,ca = (int(i) for i in input().split())
print(ab*bc//2)

Solution (Python):
AB,BC,CA = [int(x) for x in input().split()]
print(AB*BC//2)

Solution (Python):
AB, BC, CA = map(int, input().split())

print(int(AB*BC*0.5))

Solution (Python):
a,b,_=map(int, input().split())
print(a*b//2)

Solution (Python):
l = list(map(int, input().split()))
l.remove(max(l))
print(int(l[0] * l[1] / 2))

Solution (Python):
a, b, c = map(int, input().split())
print(int(a*b/2))

Solution (Python):
a,b,c = map(int, input().split())
print(a*b//2)

Solution (Python):
import math
a,b,c = map(int, input().split())
s = (a + b + c) / 2
ans = math.sqrt(s * (s - a) * (s - b) * (s - c))
print(int(ans))

Solution (Python):
a,b,c=map(int,input().split())
print(a*b//2)

Solution (Python):
a, b, c = map(int, input().split())
print(int(a * b / 2))

Solution (Python):
a,b,c=map(int,input().split())
print(a*b//2)

Solution (Python):
import sys
from fractions import gcd
import bisect
 
stdin = sys.stdin
 
ns = lambda: stdin.readline().rstrip()
ni = lambda: int(ns())
na = lambda: list(map(int, stdin.readline().split()))
s = lambda h: [list(map(int, stdin.readline().split())) for i in range(h)]

num = na()
num.sort()
print(int(0.5 * (num[0] * num[1])))

Solution (Python):
a,b,c=map(int,input().split())
print(int(a*b/2))

Solution (Python):
a, b, c = map(int, input().split())

print(int(a*b/2))

Solution (Python):
ab, bc, ca = list(map(int, input().split()))



s = (ab + bc + ca) / 2
import math
print(int(math.sqrt(s * (s - ab) * (s - bc) * (s - ca))))

Solution (Python):
ab, bc, ca = list(map(int, input().split()))

print(ab * bc // 2)

Solution (Python):
a,b,_=map(int,input().split())
print(a*b//2)

Solution (Python):
ab,bc,ca=map(int,input().split())

print(ab*bc//2)

Solution (Python):
a,b,c=map(int,input().split())
print(int(a*b/2))

Solution (Python):
a,b,c=map(int,input().split())
print(a*b//2)

Solution (Python):
import math
x = list(map(int,input().split()))
print(math.ceil(x[0]*x[1]/2))

Solution (Python):
a, b, c = map(int, input().split())

print(a*b//2)

Solution (Python):
a,b,c=map(int,input().split())
print(a*b//2)

Solution (Python):
list1 = [i for i in input().split()]

n1 = int(list1[0])
n2 = int(list1[1])
n3 = int(list1[2])

ans = int((1/2)*n1*n2)

print (ans)

Solution (Python):
ab, bc, ca = map(int,input().split())

ans = int((ab*bc)/2)
print(ans)

Solution (Python):
AB,BC,CA = map(int, input().split())
print(AB*BC//2)

Solution (Python):
a,b,c=map(int,input().split())
print(int(a*b/2))

Solution (Python):
def solve():
    ab, bc, ca = map(int, input().split())
    return ab * bc // 2


if __name__ == "__main__":
    print(solve())

Solution (Python):

ab, bc, ca = map(int, input().split())
print(int(0.5*ab*bc))

Solution (Python):
ab, bc, ca = map(int, input().split(" "))
print(int(ab * bc / 2))

Solution (Python):
a,b,c = map(int,input().split())
print(a*b//2)

Solution (Python):
a, b, c = map(int, input().split())
print(a * b // 2)

Solution (Python):
a, b, c = sorted(map(int, input().split()))
print(a*b//2)

Solution (Python):
a, b, c = sorted(map(int, input().split(" ")))
print(int(a * b / 2))

Solution (Python):
AB, BC, CA = map(int, input().split())
print(AB*BC//2)

Solution (Python):
ab,bc,ca = map(int,input().split())

print(ab*bc//2)

Solution (Python):
a=list(map(int,input().split()))
a.sort()
print(int(a[0]*a[1]*0.5))

Solution (Python):
ab,bc,ca = map(int,input().split())

print(int(ab*bc//2))

Solution (Python):
a,b,c=map(int,input().split())
print(a*b//2)

Solution (Python):
ab,bc,ca=input().split()
ab,bc,ca=int(ab),int(bc),int(ca)

print(ab*bc//2)

Solution (Python):
s=sorted(map(int,input().split()))
print((s[0]*s[1])//2)

Solution (Python):
def test():
    a,b,c = map(int,input().split())

    print(int((1/2)*a*b))


if __name__ == "__main__":
    test()

Solution (Python):
ab, bc, ca = map(int, input().split())
print(int(ab * bc / 2))

Solution (Python):
AB, BC, CA = map(int, input().split())
print(AB*BC//2)

Solution (Python):
import math





inputa = input().split()


a = int(inputa[0])
b = int(inputa[1])
c = int(inputa[2])




print(int(float(a)*float(b)/2))

Solution (Python):
a,b,c=map(int, input().split())
print(a*b//2)

Solution (Python):
x,y,z=map(int, input().split())
print(int(x*y/2))

Solution (Python):
a, b, c = map(int, input().split())

print(int(a*b/2))

Solution (Python):
ab,bc,ca = map(int,input().split())
print((ab*bc)//2)

Solution (Python):
AB,BC,CA=map(int,input().split())

print(int(AB*BC*0.5))

Solution (Python):
AB,BC,CA = map(int,input().split())
print(AB*BC//2)

Solution (Python):
c, a, b = map(int, input().split())
print(c * a // 2)

Solution (Python):
a, b, c = map(int, input().split())

print(a*b//2)

Solution (Python):
a, b, c = map(int, input().split())
print(a*b//2)

Solution (Python):
ab, bc, ca = map(int, input().split())
print(int(ab * bc / 2))

Solution (Python):
C, A, B = map(float, input().split())
print(int((1/2)*C*A))

Solution (Python):
AB,BC,CA = map(int, input().split())

print(int(AB * BC / 2))

Solution (Python):
AB,BC,CA=[int(s) for s in input().split()]
print(int(AB*BC/2))

Solution (Python):
a, b, c = map(int, input().split())
print(int(a*b/2))

Solution (Python):
a, b, _ = map(int, input().split())
print(a*b//2)

Solution (Python):
a,b,c=map(int,input().split())
print(int(a*b/2))

Solution (Python):
import math
a,b,c=map(int, input().split())
print(math.floor(a*b/2))

Solution (Python):
a, b, _ = map(int, input().split())
print(int(a*b/2))

Solution (Python):
a,b,c=map(int,input().split())
print(a*b//2)

Solution (Python):
a,b,c=map(int,input().split())
print(int(a*b/2))

Solution (Python):
ab,bc,ca = map(int,input().split())
print((int)(ab * bc / 2))

Solution (Python):
a, b, c = map(int, input().split())
print(int(a*b/2))

Solution (Python):
a, b, c = map(int,input().split())
print(int(a * b / 2))

Solution (Python):
a, b, c = map(int,input().split())

print(int(a*b*c/2/max(a,b,c)))

Solution (Python):
ab,bc,_=map(int,input().split());print(ab*bc//2)

Solution (Python):
a,b,c=map(int, input().split())
print(a*b//2)

Solution (Python):
ab, bc, ca = map(int, input().split())
x, y, z = sorted((ab, bc, ca))
print(x * y // 2)

Solution (Python):
A, B, C = map(int,input().split())
print(A*B//2)

Solution (Python):
a,b,_=map(int,input().split())
print(int(a*b/2))

Solution (Python):
a,b,c = sorted(map(int, input().split()))
print(a*b//2)

Solution (Python):
AB,BC,CA=map(int,input().split())
print(int(AB*BC/2))

Solution (Python):
li = list(map(int,input().split()))

print (li[0] * li[1] // 2)

Solution (Python):
ABC = list(sorted(map(int,input().split())))

print(ABC[0]*ABC[1]//2)

Solution (Python):
a, b, c = map(int, input().split())

print(a*b//2)

Solution (Python):
a,b,c=map(int,input().split())
print(a*b//2)

Solution (Python):
a,b,c = map(int,input().split())
print( a*b//2)

Solution (Python):
S = list(map(int,input().split()))
L = S[0]*S[1]/2
print(int(L))

Solution (Python):
X, Y, Z = map(int, input().split())
print(int(int(X) * int(Y) /2))

Solution (Python):
a,b,c = map(int, input().split())
print(a*b//2)

Solution (Python):
a,b,c = sorted(map(int, input().split()))
print(a*b//2)

Solution (Python):
AB, BC, CA = map(int, input().split())
print(int(0.5 * AB * BC))

Solution (Python):
ab,bc,ca=map(int,input().split())
print(ab*bc//2)

Solution (Python):
import math
import sys
import itertools
import queue
from fractions import gcd

def lcm(a, b):
    return a * b // gcd(a, b)

mod = 1000000007

"""

a = 100
b = 0.987654321
print("{0:06d}-{1:6f}".format(a,b))
000100-0.987654


char_list = list("abcd") 



    = sys.stdin.readline().rstrip()
    = list(sys.stdin.readline().rstrip())


    = int(sys.stdin.readline())
    = map(int, sys.stdin.readline().split())
    = list(map(int, sys.stdin.readline().split()))
    = [list(map(int,list(sys.stdin.readline().split()))) for i in range(h)]  
"""

if __name__ == "__main__":
    A, B, _ = map(int, sys.stdin.readline().split())
    print(int((A * B) / 2))

Solution (Python):
a,b,c = map(int,input().split())
print((a*b)//2)

Solution (Python):
a,b,c = list(map(int,input().split()))
print((a*b)//2)

Solution (Python):

Xs = list(map(int, input().split()))
Xs.sort()
print(Xs[0] * Xs[1] // 2)

Solution (Python):
a,b,c =map(int,input().split())
p = int(a*b/2)
print("{}".format(p))

Solution (Python):
a,b,c = map(int,input().split())
print(a*b//2)

Solution (Python):
a,b,c = map(int,input().split())
print((a*b)//2)

Solution (Python):
a, b, c = map(int, input().split())
print(int(a*b/2))

Solution (Python):
ab,bc,ca = map(int, input().split())

print(int((ab*bc)/2))

Solution (Python):
a,b,c =map(int,input().split())
print(a*b//2)

Solution (Python):
a,b,c, = map(int,input().split())

print((a*b)//2)

Solution (Python):
a,b,c=(int(x) for x in input().split())
print(int((a*b)/2))

Solution (Python):
ab, bc, ca = map(int,input().rstrip().split())
print(ab*bc//2)

Solution (Python):
c,a,b = map(int,input().split())

print(int(1/2 * c * a))

Solution (Python):
ab, bc, ca = map(int, input().split())
print(ab * bc // 2)

Solution (Python):
a, b, c = map(int, input().split())
print(a * b // 2)

Solution (Python):
def main():
    AB,BC,CA = map(int, input().split())
    ans = (BC * AB) / 2
    print(int(ans))


if __name__ == '__main__' :
    main()

Solution (Python):
a,b,c = map(int, input().split());print(a*b//2)

Solution (Python):
a, b, c = map(int, input().split(" "))
print(a * b // 2)

Solution (Python):
xyz = list(map(int, input().split()))

xyz.sort()

print(int(xyz[0]*xyz[1]/2))

Solution (Python):
c,a,b = map(int, input().split())
print(int(0.5 * c * a))

Solution (Python):
il=list(map(int, input().split()))
il.sort()
x=il[0] * il[1] // 2
print(x)

Solution (Python):
line = list( map(int, input().split()))

line.sort()

print( "{:d}".format( int(line[0] * line[1] / 2)) )

Solution (Python):
a, b, c = map(int, input().split())
print(a*b//2)

Solution (Python):

a,b,c = map(int,input().split())
print(a*b//2)

Solution (Python):
L = input().split()
print(int(int(L[0]) * int(L[1]) / 2))

Solution (Python):
a,b,c=map(int,input().split())
print(a*b//2 )

Solution (Python):
"""


 = sys.stdin.readline().rstrip()
 = list(sys.stdin.readline().rstrip())


 = int(sys.stdin.readline())
 = map(int, sys.stdin.readline().split())
 = list(map(int, sys.stdin.readline().split()))
 = [list(map(int,list(sys.stdin.readline().split()))) for i in range(h)]  


a = 100
b = 0.987654321
print("{0:06d}-{1:6f}".format(a,b))
000100-0.987654


char_list = list("abcd") 
"""

import math
import sys
import itertools
import queue
from fractions import gcd

def lcm(a, b):
    return a * b // gcd(a, b)

mod = 1000000007

if __name__ == "__main__":
    a,b,c = map(int, sys.stdin.readline().split())
    print(int(a*b/2))

Solution (Python):
a,b,c=map(int,input().split())
print(a*b//2)

Solution (Python):
c,a,b = map(int,input().split())
print(c*a//2)

Solution (Python):
a = list(map(int, input().split()))

a = sorted(a)
ans = (a[0] * a[1])/2

print(int(ans))

Solution (Python):


a, b, c = map(int, input().rstrip().split())

print(int((a*b)/2))

Solution (Python):
num = input().split()
print(int(num[0])*int(num[1])//2)

Solution (Python):
a,b,c = map(int,input().split())
print(a*b//2)

Solution (Python):
A,B,C = map(int,input().split())
print(int(A*B/2))

Solution (Python):
A, B, C = map(int, input().split())
print(int(A*B/2))

Solution (Python):
sides = [int(x) for x in input().split()]
ans = 1
for side in sides:
    ans *= side
print(ans//max(sides)//2)

Solution (Python):
a,b,c = map(int,input().split())
print(a*b//2)

Solution (Python):
c,a,b=map(int,input().split())
print(a*c//2)

Solution (Python):
a, b, c = list(map(int, input().split()))

print((a * b) // 2)

Solution (Python):



if __name__ == '__main__':
    a, b, c = map(int, input().split(' '))
    print(a * b // 2)

Solution (Python):

a, b, c = [int(x) for x in input().split()]
print(a*b//2)

Solution (Python):
ab, bc, ca = map(int, input().split())
print(int(ab * bc / 2))

Solution (Python):
X,Y,Z=map(int,input().split())
print(int((X*Y)/2))

Solution (Python):
Tmp = []
Tmp = input().rstrip().split(' ')
 
nA = int(Tmp[0])
nB = int(Tmp[1])

nAns = nA * nB // 2

print(nAns)

Solution (Python):
a,b,c=map(int,input().split())
print(int(a*b/2))

Solution (Python):
a,b,c=list(map(int,input().split()))
print((a*b)//2)

Solution (Python):
a, b, c = map(int, input().split())
print(int((a * b) / 2))

Solution (Python):
a,b,c = map(int, input().split())
print(int((sorted([a,b,c])[0] * sorted([a,b,c])[1])/2))

Solution (Python):
ab,bc,ca = map(int,input().split())
print(ab*bc//2)

Solution (Python):
a,b,c = map(int,input().split())
print(a*b//2)

Solution (Python):
print(*[int(y[0]*y[1]/2) for y in [[int(x) for x in input().split()]]])

Solution (Python):
AB, BC, CA = map(int,input().split())
print(AB*BC//2)