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






if __name__ == '__main__':
    solve()

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

import math
s = (a+b+c)/2
S = math.sqrt(s*(s-a)*(s-b)*(s-c))
print(int(S))

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

Solution (Python):
AB,BC,CA = sorted(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())

s = (a+b+c)/2
S = s*(s-a)*(s-b)*(s-c)

print(int(S**0.5))

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

print(int(a * b * 0.5))

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,_ = 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(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())
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
from copy import copy
from collections import deque,Counter
from decimal import Decimal
def s(): return input()
def i(): return int()
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)
mod = 10**9+7

A,B,C = I()
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(AB * BC // 2)

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

Solution (Python):
abc = input()
ab, bc = int(abc.split()[0]), int(abc.split()[1])
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//2)

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

Solution (Python):
a,b,c = [int(i) for i in 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(a*b//2)

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

Solution (Python):
def inp():return map(int,input().split())

a,b,c=inp()
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())

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

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

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

Solution (Python):
s=input();print(eval(s[:s.rfind(' ')].replace(' ','*')+'//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()))
S = sorted(s)
print(int(S[0]*S[1]*(1/2)))

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

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

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

Solution (Python):
import bisect,collections,copy,heapq,itertools,math,string
import sys
def S(): return sys.stdin.readline().rstrip()
def M(): return map(int,sys.stdin.readline().rstrip().split())
def I(): return int(sys.stdin.readline().rstrip())
def LI(): return list(map(int,sys.stdin.readline().rstrip().split()))
def LS(): return list(sys.stdin.readline().rstrip().split())
li = LI()
li.sort()
print(li[0]*li[1]//2)

Solution (Python):
arr = []

A, B, C = list(map(int, input().split()))

arr.append(A)
arr.append(B)
arr.append(C)
arr = sorted(arr)

print(int(arr[0]*arr[1]*0.5))

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

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):
c, a, b = map(int, input().split())
S = c * a // 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(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(min([a*b, b*c, c*a]) // 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):
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())
array = [A,B,C]
array.sort()
print(int(array[0]*array[1]/2))

Solution (Python):
import sys
a, b, c = map(int, sys.stdin.readline().rstrip().split())
print(a * b // 2)

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

S = 0.5 * AB * BC

print(int(S))

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):
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):
arr= list(map(int, input().split()))
arr.sort()
print(arr[0] * arr[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())
print(ab*bc//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())
print(int(ab*bc*0.5))

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

Solution (Python):
import sys
import math
from collections import Counter
import itertools
import fractions
from decimal import Decimal



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 LLI(rows_number): return [LI() for _ in range(rows_number)]
def SR(): return sys.stdin.readline().rstrip()

ascii_lowercase = 'abcdefghijklmnopqrstuvwxyz'
ascii_uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
ascii_uppercase2 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ'


p2D = lambda x: print(*x, sep="\n")
p2E = lambda x: print(''.join(x))
p2S = lambda x: print(*x, sep=" ")



a,b,c=MI()
print(int(a*b*0.5))

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

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

print(int(A*B*0.5))

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

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

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(int((b**2 + c**2 - 2 * b * c * math.cos(math.atan(a / b)))**0.5 * b // 2))

Solution (Python):
from functools import reduce
from operator import mul

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

print(reduce(mul, [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(int(0.5*x*y))

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

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

Solution (Python):

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


print(AB * BC // 2)

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

Solution (Python):

import sys
input = sys.stdin.readline









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

print(AB*BC//2)

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

ans = ab * bc // 2
print(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(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())
ans =A*B//2
print(ans)

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

Solution (Python):
import sys
from heapq import heappush, heappop
def input(): return sys.stdin.readline().strip()


def main():
    p, q, r = map(int, input().split())
    print(p * q // 2)



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):
import itertools
import math
import fractions
import functools
import copy
ab, bc, ca = map(int, input().split())

print(ab*bc//2)

Solution (Python):
import math

def solve_A():
    a, b, c = map(int, input().split())
    s = (a + b + c) / 2
    area = s * (s-a) * (s-b) * (s-c)
    return math.sqrt(area)

print(int(solve_A()))

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

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


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):
def main():
    a, b, c = list(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):
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())
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):
a, b, c = map(int,input().split())

s = (a+b+c)/2

ans = (s*(s-a)*(s-b)*(s-c))**(0.5)

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

if a**2==b**2+c**2:
    print(b*c//2)
elif b**2==a**2+c**2:
    print(a*c//2)
else:
    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):
import sys

sys.setrecursionlimit(10 ** 7)
f_inf = float('inf')
mod = 10 ** 9 + 7


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


if __name__ == '__main__':
    resolve()

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

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

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

print(min(A*B//2, B*C//2, C*A//2))

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


if __name__ == '__main__':
    main()

Solution (Python):
import sys
from collections import Counter
from collections import deque
def input(): return sys.stdin.readline().strip()
def mp(): return map(int,input().split())
def lmp(): return list(map(int,input().split()))

a,b,c=mp()
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):
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(ab*bc//2)

Solution (Python):
from collections import defaultdict, deque, Counter
from heapq import heappush, heappop, heapify
from itertools import permutations, accumulate, combinations, combinations_with_replacement
from math import sqrt, ceil, floor, factorial
from bisect import bisect_left, bisect_right, insort_left, insort_right
from copy import deepcopy
from operator import itemgetter
from functools import reduce
from fractions import gcd
import sys
def input(): return sys.stdin.readline().rstrip()
def I(): return int(input())
def Is(): return map(int, input().split())
def LI(): return list(map(int, input().split()))
def TI(): return tuple(map(int, input().split()))
def IR(n): return [I() for _ in range(n)]
def LIR(n): return [LI() for _ in range(n)]
def TIR(n): return [TI() for _ in range(n)]
def S(): return input()
def Ss(): return input().split()
def LS(): return list(input())
def SR(n): return [S() for _ in range(n)]
def SsR(n): return [Ss() for _ in range(n)]
def LSR(n): return [LS() for _ in range(n)]
sys.setrecursionlimit(10**6)
MOD = 10**9+7
INF = 10**18


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

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

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

Solution (Python):






import sys
input = sys.stdin.readline

import math
from collections import deque
from fractions import gcd
from functools import lru_cache






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






def inputI(): return int(input().strip())
def inputS(): return input().strip()
def inputIL(): return list(map(int,input().split()))
def inputSL(): return list(map(str,input().split()))
def inputILs(n): return list(int(input()) for _ in range(n))
def inputSLs(n): return list(input().strip() for _ in range(n))
def inputILL(n): return [list(map(int, input().split())) for _ in range(n)]
def inputSLL(n): return [list(map(str, input().split())) for _ in range(n)]


def inv(n): return pow(n, MOD-2, MOD)


kaijo_memo = []
def kaijo(n):
  if(len(kaijo_memo) > n):
    return kaijo_memo[n]
  if(len(kaijo_memo) == 0):
    kaijo_memo.append(1)
  while(len(kaijo_memo) <= n):
    kaijo_memo.append(kaijo_memo[-1] * len(kaijo_memo) % MOD)
  return kaijo_memo[n]

gyaku_kaijo_memo = []
def gyaku_kaijo(n):
  if(len(gyaku_kaijo_memo) > n):
    return gyaku_kaijo_memo[n]
  if(len(gyaku_kaijo_memo) == 0):
    gyaku_kaijo_memo.append(1)
  while(len(gyaku_kaijo_memo) <= n):
    gyaku_kaijo_memo.append(gyaku_kaijo_memo[-1] * pow(len(gyaku_kaijo_memo),MOD-2,MOD) % MOD)
  return gyaku_kaijo_memo[n]

def nCr(n,r):
  if(n == r):
    return 1
  if(n < r or r < 0):
    return 0
  ret = 1
  ret = ret * kaijo(n) % MOD
  ret = ret * gyaku_kaijo(r) % MOD
  ret = ret * gyaku_kaijo(n-r) % MOD
  return ret


def factorization(n):
    arr = []
    temp = n
    for i in range(2, int(-(-n**0.5//1))+1):
        if temp%i==0:
            cnt=0
            while temp%i==0:
                cnt+=1
                temp //= i
            arr.append([i, cnt])
    if temp!=1:
        arr.append([temp, 1])

    if arr==[]:
        arr.append([n, 1])
    return arr


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





A,B,C = inputIL()

print((A*B//2))

Solution (Python):


import sys






















def main():
    mod = 1000000007                
    inf = float('inf')              
    
    sys.setrecursionlimit(10**6)    
    def input(): return sys.stdin.readline().rstrip()
    def ii():    return int(input())
    def mi():    return map(int, input().split())
    def mi_0():  return map(lambda x: int(x)-1, input().split())
    def lmi():   return list(map(int, input().split()))
    def lmi_0(): return list(map(lambda x: int(x)-1, input().split()))
    def li():    return list(input())
    
    
    L = lmi()
    L.sort()
    print(L[0] * L[1] // 2)


if __name__ == "__main__":
    main()

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

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

Solution (Python):
import sys
import math
import bisect

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

if __name__ == "__main__":
    main()

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

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

longest = max(edges)
edges.remove(longest)

print(edges[0] * edges[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):
import sys
def input(): return sys.stdin.readline().strip()

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

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

Solution (Python):
ver = list(map(int, input().split()))
ver.remove(max(ver))

ans = ver[0] * ver[1] // 2

print(ans)

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

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

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

if __name__ == '__main__':

    ABC_116_A()

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 / 2))

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

print(a*b // 2)

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

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

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

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

Solution (Python):
x,y,z = map(int,input().split())
l = [x,y,z]
m = max(l)
print(x*y*z//m//2)

Solution (Python):



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


if __name__ == '__main__':
    main()

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

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

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

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

print(a*b//2)

Solution (Python):
















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

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

Solution (Python):
ii = lambda:int(input())
mi = lambda:list(map(int,input().split()))
ix = lambda x:list(input() for _ in range(x))
mix = lambda x:list(mi() for _ in range(x))
iix = lambda x:list(int(input()) for _ in range(x))

a,b,c = mi()
maxval = max(a,b,c)
x = min(a,b,c)
y = sum([a,b,c]) - (x + maxval)
print(int(x*y/2))

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

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

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

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

Solution (Python):
a,s,d=map(int,input().split())
S=(a+s+d)//2
print(int((S*(S-a)*(S-s)*(S-d))**(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):
ab, bc, ca = map(int, input().split())

print(int(ab * bc * 0.5))

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

Solution (Python):
ab, bc, ca = map(int, input().split())
print(ab*bc//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(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):
abc=sorted(list(map(int,input().split())))
print(abc[0]*abc[1]//2)

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

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

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

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 = (int(x) for x in input().split())

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

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

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

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

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

print((ab * bc) // 2)

Solution (Python):
p,q,r=map(int,input().split())
print(p*q//2)

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

Solution (Python):


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

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

Solution (Python):
import math
x = input().split()
a = int(x[0])
b = int(x[1])
print(math.floor(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(int(a*b/2))

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

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

print(c*a//2)

Solution (Python):
abc = list(map(int, input().split()))
print((abc[0] * abc[1]) // 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 main():
    A, B, C = map(int, input().split())
    tri = sorted([A, B, C])
    print(tri[0]*tri[1]//2)
if __name__ == "__main__":
    main()

Solution (Python):
a,b,c=[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):
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):


def solve():

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


if __name__ == "__main__":
    solve()

Solution (Python):
a = 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):

import sys

sr = lambda: sys.stdin.readline().rstrip()
ir = lambda: int(sr())
lr = lambda: list(map(int, sr().split()))

a, b, c = lr()
answer = a * b // 2
print(answer)

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):
T = list(map(int, input().split()))

T.sort()

x, y = T[:2]
print(x * y // 2)

Solution (Python):
X, Y, Z = [int(i) for i in input().split()]

print(int(0.5 * X * Y))

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

ans = int( a*b*c/(max(a,b,c)*2) )

print(ans)

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

print(int(a*b/2))

Solution (Python):
import math
ab, bc, ca = map(int, input().split())
s = (ab+bc+ca)/2
S = math.sqrt(s*(s-ab)*(s-bc)*(s-ca))
print(int(S))

Solution (Python):
def Right_Triangle(ab, bc, ca):

    return int(ab*bc/2)

def main():
    ab, bc, ca = map(int, input().split())
    print(Right_Triangle(ab, bc, ca))

if __name__ == '__main__':
    main()

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

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

Solution (Python):
a= input().split()
b=int(a[0])
c=int(a[1])
i=b*c/2
print('%d'%i)

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 = input().split()

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

Solution (Python):
a_b, b_c, c_a = map(int, input().split())
print((a_b*b_c)//2)

Solution (Python):
a_b, b_c, c_a = map(int, input().split())
print((a_b*b_c)//2)

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

Solution (Python):
ab,bc,ca=map(int,input().split())
print(bc*ab//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):
a,b,c=list(map(int,input().split()))
print(int(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):
AB, BC, CA = map(int, input().split())

print(int(AB * BC / 2))

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

print((l[0] * l[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('{:.0f}'.format(a*b/2))

Solution (Python):
import numpy as np
import sys

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

Solution (Python):
import math
x, y, z = map(int,input().split())

print(math.floor(y*x/2))

Solution (Python):
P, Q, R = map(int,input().split())
print(P*Q//2)

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

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