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):
a,b,c=map(int, input().split())
print(a*b//2)

Solution (Python):


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

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

Solution (Python):



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

Solution (Python):
import math
import collections
from sys import exit
from itertools import product

ii = lambda : int(input())
mi = lambda : map(int,input().split())
li = lambda : list(map(int,input().split()))

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

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

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

print(a * b // 2)

Solution (Python):



from math import gcd
from itertools import combinations,permutations,accumulate, product 

from collections import deque,defaultdict,Counter
import decimal
import re
import math
import bisect
import heapq














import sys
sys.setrecursionlimit(10000000)
mod = 10**9 + 7


INF = float('inf')
from sys import stdin
readline = stdin.readline
def readInts():
  return list(map(int,readline().split()))
def readTuples():
    return tuple(map(int,readline().split()))
def I():
    return int(readline())
a,b,c = readInts()
print((a*b)//2)

Solution (Python):
edges = list(map(int, input().split()))
edges.sort()
print(edges[0] * edges[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):
X,Y,Z=map(int,input().split())
print(X*Y//2)

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

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

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

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

Solution (Python):
num, num1, num2 = input("").split()
num = int(num)
num1 = int(num1)

print(int(num*num1/2))

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

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

print(BC * AB // 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):

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

print(int(a*b/2))

Solution (Python):


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


if __name__ == "__main__":
    main()

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):
A,B,C = map(int,input().split())
print(A*B//2)

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

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

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

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

Solution (Python):


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


i = (AB * BC) // 2
print(i)

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 = sorted([int(x) for x in input().split()])
print(a[0] * a[1] // 2)

Solution (Python):
n=sorted(list(map(int,input().split())))
m=max(n)
print(int(n[0]*n[1]/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):
from math import sqrt
a, b, c = map(int, input().split())
s = (a + b + c) / 2
ans = 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):
AB, BC, CA = map(int,input().split())

print(AB*BC//2)

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

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

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



if __name__ == '__main__':
    main()

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

triangle = a * b // 2

print(triangle)

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

Solution (Python):
def mapt(fn, *args):
    return tuple(map(fn, *args))


def Input():
    return mapt(int, input().split(" "))


def main():
    a, b, c = Input()
    print(b * a // 2)

main()

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(a * b // 2)

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

d = max(a,b,c)

res = 1

if a !=d:
    res *=a

if b !=d:
    res *=b

if c !=d:
    res *=c
    
print(res//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(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())

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

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

area = (ab * bc) // 2

print(area)

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

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

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

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

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

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

Solution (Python):



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

result = int(ab * bc * 0.5)
print(result)

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())

area = int((AB * BC) / 2)

print(area)

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

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

if a > b and a > c:
    print(int(b*c/2))
elif b > a and b > c:
    print(int(a*c/2))
else:
    print(int(a*b/2))

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

if '__main__' == __name__:
    resolve()

Solution (Python):


def atc_116a(input_value: str) -> int:
    tri_length = [int(ai) for ai in input_value.split(" ")]
    tri_length.sort()
    return int((tri_length[0] * tri_length[1] / 2))

input_value = input()
print(atc_116a(input_value))

Solution (Python):

bottom,height,hypotenuse = map(int,input().split())


area = int(bottom * height / 2)
print(area)

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

print((AB * BC) // 2)

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

if __name__ == '__main__':
    main()

Solution (Python):



AB, BC, CD = map(int, input().split())

print(int(AB * BC / 2))

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

print(ab * bc // 2)

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

Solution (Python):
length1, length2, length3 = map(int, input().split())
area = length1 * length2 / 2
print(int(area))

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):
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 = int(a * b / 2)
print(s)

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

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

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

Solution (Python):
ab, bc, ca = (int(n) for n in input().split())
print(ab * bc // 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())


menseki = a * b / 2

print(int(menseki))

Solution (Python):
a,b,c=map(int,input().split())
list=[a,b,c]
list.sort()
print(int(list[0]*list[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())
ans = y * x // 2
print(ans)

Solution (Python):
height, base, hypotenuse = map(int, input().split())
print(height * base // 2)

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

print(a * b // 2)

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

triangle_area = BC * AB / 2

print(int(triangle_area))

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):
AB, BC, CA = map(int, input().split())





i = (AB * BC) // 2
print(i)

Solution (Python):
'''
問題：
    直角三角形 ABC があります。∠ABC=90° です。

    三角形 ABC の三辺の長さである
    |AB|,|BC|,|CA| が与えられるので、
    直角三角形 ABC の面積を求めて下さい。
    ただし、三角形 ABC の面積は整数となることが保証されています。
'''

'''
制約：
    1 ≦ |AB|,|BC|,|CA| ≦ 100
    入力はすべて整数である。
    三角形 ABC の面積は整数である。
'''


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

print(int( ab * bc / 2) )

Solution (Python):
import sys

def I(): return int(sys.stdin.readline())
def MI(): return map(int, sys.stdin.readline().split())
def LI(): return list(map(int, sys.stdin.readline().split()))
def main():
    a, b, c = MI()
    ans = int(a*b*0.5)
    print(ans)

if __name__ == '__main__':
    main()

Solution (Python):
X , Y, Z =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(AB * BC // 2)

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

    print(ab * bc // 2)


if __name__ == "__main__":
    main()

Solution (Python):
length_a_b, length_b_c, length_c_a = map(int, input().split())

area_abc = length_a_b * length_b_c // 2
print(area_abc)

Solution (Python):
A = list(map(int, input().split()))
B = sorted(A)
print(int(B[0] * B[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(x * y // 2)

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

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

print(a*b//2)

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

ans = int(a*b*0.5)

print(ans)

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(min(a,b,c)*(sum([a,b,c])-min(a,b,c)-max(a,b,c))//2)

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

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

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):
ab,bc,ca = map(int,input().split())
print(ab * bc // 2)

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

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

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

Solution (Python):
a, b, c = map(int, input().split())
dai = max(a,b,c)
shou = min(a,b,c)
mid = a + b + c - dai - shou

print(shou * mid // 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):
a,b,c=map(int,input().split())
ans=a*b//2
print(ans)

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

Solution (Python):
a,b,_ = 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=(map(int,input().split()))
print(int(1/2*a*b))

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(a*b//2)

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

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

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):
l=list(map(int,input().split()))
l.sort()
s=(l[0]*l[1])//2
print(s)

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):
x,y,z = map(int,input().split())
print(x*y//2)

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

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

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

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

Solution (Python):
import sys

read = sys.stdin.read
readline = sys.stdin.readline
readlines = sys.stdin.readlines
sys.setrecursionlimit(10 ** 9)
INF = 1 << 60
MOD = 1000000007


def main():
    x, y, z = map(int, readline().split())

    print(x * y // 2)

    return


if __name__ == '__main__':
    main()

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

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

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 = 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(a*b//2)

Solution (Python):
import sys
read = sys.stdin.buffer.read
readline = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines

a, b, c = map(int, readline().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):
L=list(map(int,input().split()))
L.sort()
print(L[0]*L[1]//2)

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

Solution (Python):
a,b,c=map(int,input().strip().split(" "))
print((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):
x, y, z = map(int, input().split())
print(x*y//2)

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

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

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

Solution (Python):

def main():
    a = map(int, input().split())
    a_ = sorted(a)
    print(int(a_[0] * a_[1] * 0.5))


if __name__ == "__main__":
    main()

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

Solution (Python):
if __name__ == '__main__':

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

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

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

Solution (Python):
A=list(map(int,input().split()))
B=list.sort(A)
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(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(int(a*b/2))

Solution (Python):
import sys
sys.setrecursionlimit(10**9)

def mi(): return map(int,input().split())
def ii(): return int(input())
def isp(): return input().split()
def deb(text): print("-------\n{}\n-------".format(text))

INF=10**20
def main():
    x,y,z=mi()
    print(x*y//2)



if __name__ == "__main__":
    main()

Solution (Python):
import sys


stdin = sys.stdin
def ns(): return stdin.readline().rstrip()
def ni(): return int(stdin.readline().rstrip())
def nm(): return map(int, stdin.readline().split())
def nl(): return list(map(int, stdin.readline().split()))


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


if __name__ == '__main__':
    main()

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

Solution (Python):
l = list(map(int, input().split()))
L = sorted(l)
print(int(L[0]*L[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(a*b//2)

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,_=map(int,input().split());print(a*b//2)

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

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

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

Solution (Python):
a, b, c = [int(i) for i in input().split()]
if a >= b and a >= c:
 print(c*b//2)
elif b >= c and b >= a:
 print(a*c//2)
else:
 print(a*b//2)

Solution (Python):
a,b,_=[int(i) for i in input().split()]
print(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):
ab, bc, ca = map(int, input().split())
print(int(ab * bc / 2))

Solution (Python):
AB,BC,CA = list(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(int(a*b*(1/2)))

Solution (Python):
ary = input().split(" ")
print(int(int(ary[0]) * int(ary[1]) / 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):
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):



















































def calculation(lines):
    
    
    ab, bc, ca = list(map(int, lines[0].split()))
    
    
    
    
    result = int(ab*bc/2)

    return [result]



def get_input_lines(lines_count):
    lines = list()
    for _ in range(lines_count):
        lines.append(input())
    return lines



def get_testdata(pattern):
    if pattern == 1:
        lines_input = ['3 4 5']
        lines_export = [6]
    if pattern == 2:
        lines_input = ['5 12 13']
        lines_export = [30]
    if pattern == 3:
        lines_input = ['45 28 53']
        lines_export = [630]
    return lines_input, lines_export



def get_mode():
    import sys
    args = sys.argv
    if len(args) == 1:
        mode = 0
    else:
        mode = int(args[1])
    return mode



def main():
    import time
    started = time.time()
    mode = get_mode()
    if mode == 0:
        lines_input = get_input_lines(1)
    else:
        lines_input, lines_export = get_testdata(mode)

    lines_result = calculation(lines_input)

    for line_result in lines_result:
        print(line_result)

    
    
    
    
    
    
    
    
    
    
    



if __name__ == '__main__':
    main()

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

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

Solution (Python):
import sys

input = sys.stdin.readline


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


if __name__ == "__main__":
    main()

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

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

Solution (Python):
x,y,z = map(int,input().split())
print(int(x*y/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 = sorted(list(map(int, input().split())))
print(a[0]*a[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):
import sys
input = lambda: sys.stdin.readline().rstrip()

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

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

Solution (Python):
import sys
sys.setrecursionlimit(10**8)
def ii(): return int(sys.stdin.readline())
def mi(): return map(int, sys.stdin.readline().split())
def li(): return list(map(int, sys.stdin.readline().split()))
def li2(N): return [list(map(int, sys.stdin.readline().split())) for _ in range(N)]
def dp2(ini, i, j): return [[ini]*i for _ in range(j)]





A = sorted(li())

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

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

print(a*b//2)

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

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

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

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

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

Solution (Python):
import sys
sys.setrecursionlimit(10**7)
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):
a,b,c=map(int,input().split())

aa=min(a,b)
bb=min(c,max(a,b))

print((aa*bb)//2)

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

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

Solution (Python):
直角三角形の三辺 = list(map(int, input().split()))
直角三角形の三辺.sort()
print(直角三角形の三辺[0] * 直角三角形の三辺[1] // 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, _ = 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 = input().split()
x = [a, b, c]
x = [int(i) for i in x]
x.sort()
print(int((int(x[0])*int(x[1]))/2))

Solution (Python):
def main():
 a,b,c = map(int,input().split())
 print(a * b // 2)
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):
a,b,c=map(int,input().split())
a=0.5 * a* b
print("%d"%a)

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(a * b // 2)

Solution (Python):
import sys
A,B,C = map(int,input().split())
if not ( 1 <= A <= 100 and 1 <= B <= 100 and 1 <= C <= 100 ): sys.exit()
if not ( isinstance(A,int) and isinstance(B,int) and isinstance(C,int) ): sys.exit()

print(( A * B ) // 2)

Solution (Python):
A,B,C = (int(X) for X in 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())

lis = [a,b,c]

lis.remove(max(lis))

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

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

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

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

Solution (Python):






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


print(main())

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

if __name__ == "__main__":
  resolve()

Solution (Python):
import sys
def input(): return sys.stdin.readline().strip()
def mapint(): return map(int, input().split())
sys.setrecursionlimit(10**9)

A, B, C = mapint()
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):
import sys
import math
import itertools
import bisect
from copy import copy
from collections import deque,Counter
from decimal import Decimal
def s(): return input()
def i(): return int(input())
def S(): return input().split()
def I(): return map(int,input().split())
def L(): return list(input().split())
def l(): return list(map(int,input().split()))
def lcm(a,b): return a*b//math.gcd(a,b)
sys.setrecursionlimit(10 ** 9)
INF = 10**9
mod = 10**9+7

a,b,c = I()
print(a*b//2)

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

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

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

A = sorted(A)

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

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

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

Solution (Python):
L = list(map(int,input().split()))
     
print(L[0]*L[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=map(int,input().split())
print(a*b//2)

Solution (Python):

import sys
input = sys.stdin.readline
a = list(map(int, input().split()))
a.sort()
ans =a[0] *a[1] //2
print(ans)

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

Solution (Python):
import sys, os, math, bisect, itertools, collections, heapq, queue

from decimal import Decimal
from collections import defaultdict, deque

sys.setrecursionlimit(10000000)

ii = lambda: int(sys.stdin.buffer.readline().rstrip())
il = lambda: list(map(int, sys.stdin.buffer.readline().split()))
fl = lambda: list(map(float, sys.stdin.buffer.readline().split()))
iln = lambda n: [int(sys.stdin.buffer.readline().rstrip()) for _ in range(n)]

iss = lambda: sys.stdin.buffer.readline().decode().rstrip()
sl = lambda: list(map(str, sys.stdin.buffer.readline().decode().split()))
isn = lambda n: [sys.stdin.buffer.readline().decode().rstrip() for _ in range(n)]

lcm = lambda x, y: (x * y) // math.gcd(x, y)

MOD = 10 ** 9 + 7
MAX = float('inf')


def main():
    if os.getenv("LOCAL"):
        sys.stdin = open("input.txt", "r")

    ab, bc, ca = il()
    print((bc*ab)//2)


if __name__ == '__main__':
    main()

Solution (Python):
import sys
import math
import itertools
import collections
import heapq
import re
import numpy as np

rr = lambda: sys.stdin.readline().rstrip()
rs = lambda: sys.stdin.buffer.readline().split()
ri = lambda: int(sys.stdin.readline())
rm = lambda: map(int, sys.stdin.buffer.readline().split())
rl = lambda: list(map(int, sys.stdin.readline().split()))
inf = float('inf')
mod = 10**9 + 7

a, b, _ = rm()
print(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, b, c = map(int, input().split())
print((a*b)//2)

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

Solution (Python):
a,b,c = map(int, raw_input().split(' '))
print (a*b) >> 1

Solution (Python):
ab,bc,ca = map(int,input().split())
import math
print(math.floor(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):
AB, BC, CA = map(int, input().split())
S = AB*BC//2

print(S)

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

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

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

l.sort()

print(l[0]*l[1]//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):
a,b,c = map(int,input().split(' '))
x = a*b//2
print(x)

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

print((BC*AB)//2)

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

area = (AB * BC) // 2

print(area)

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,_=map(int,input().split());print(a*b//2)

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

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

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

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

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(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,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 = list(map(int, input().split()))
l.sort()
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):
AB,BC,_ = 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)