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.



Sample input:
3 4 5


Sample output:
6

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

Solution code:
#ABC116_a Right Triangle
import heapq
a,b,c = [int(i) for i in input().split()]
tri=[a,b,c]
r= int(heapq.nsmallest(2,tri)[0]*heapq.nsmallest(2,tri)[1]/2)
print(r)

Submission status: Accepted

Solution code:
x = [int(i) for i in input().split()]
x.sort()
print(x[0]*x[1]//2)

Submission status: Accepted

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

Submission status: Accepted

Solution code:
import math
V = [int(n) for n in input().split()]
s = sum(V) / 2
A = math.sqrt(s*(s-V[0])*(s-V[1])*(s-V[2]))
print(int(A))

Submission status: Accepted

Solution code:
a = list(map(int,input().split()))
aa = 1
for i in range(3):
  aa *= a[i]
  
print(aa//max(a)//2)

Submission status: Accepted

Solution code:
sides = sorted(map(int, input().split()))

a, b, _ = sides

print(a * b // 2)

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

Solution code:
l = raw_input().split()

l = map(lambda x: int(x), l)
l.sort()

print l[0] * l[1] / 2

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

Solution code:
A, B, _ = sorted(map(int, input().split()))

print(A * B // 2)

Submission status: Accepted

Solution code:
# -*- coding: utf-8 -*-

import sys, re
from collections import deque, defaultdict, Counter
from math import sqrt, hypot, factorial, pi, sin, cos, radians
from heapq import heappop, heappush, heapify, heappushpop
from bisect import bisect_left, bisect_right
from itertools import permutations, combinations, product
from operator import itemgetter, mul
from copy import deepcopy
from functools import reduce, partial
from fractions import Fraction
from string import ascii_lowercase, ascii_uppercase, digits

def input(): return sys.stdin.readline().strip()
def ceil(a, b=1): return int(-(-a // b))
def round(x): return int((x*2+1) // 2)
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 = MAP()

print(ab*bc//2)

Submission status: Accepted

Solution code:
#!/usr/bin/env python3

def main():
    [AB, BC, CA] = list(map(int, input().split()))

    print(AB * BC // 2)


if __name__ == '__main__':
    main()

Submission status: Accepted

Solution code:
a=list(map(int,input().split()))
print('{:.0f}'.format(a[0]*a[1]/2))

Submission status: Accepted

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

Submission status: Accepted

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

print(a * b // 2)

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

Solution code:
A,B,C = map(int,input().split())
print(int(A*B*0.5))

Submission status: Accepted

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

Submission status: Accepted

Solution code:
x = input()
y = x.split(" ")
triangle = [int(i) for i in y]
max_index = -1
max = 0
for line in range(len(triangle)):
    if(triangle[line] > max):
        max = triangle[line]
        max_index = line
del triangle[max_index]

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

Submission status: Accepted

Solution code:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
l = list(map(int, input().split()))
l.sort()
print(int(l[0]*l[1]/2))

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

Solution code:
a = [int(i) for i in input().split()]
menseki = int(a[0]*a[1]/2)
print(menseki)

Submission status: Accepted

Solution code:
A, B, C = (int(x) for x in input().split())
print(A * B // 2)

Submission status: Accepted

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

Submission status: Accepted

Solution code:
x, y, z = input().split()

print(int(int(x) * int(y) / 2))

Submission status: Accepted

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

Submission status: Accepted

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

print(int(A * B / 2))

Submission status: Accepted

Solution code:
# -*- coding: utf-8 -*-
# 整数の入力
a = input().split(' ')
# 出力
print(int(int(a[0]) * int(a[1]) / 2))

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

Solution code:
def area(ab, bc, ca):
  return int(ab * bc / 2)

s = input()
ab, bc, ca = map(lambda x: int(x), s.split())

print('%d' % area(ab, bc, ca))

Submission status: Accepted

Solution code:
# 標準入力をリスト形式で取得取得
a = list(map(int, input().split()))
#print(a)

# リストを昇順ソート
a.sort()

#print(a)

# 直角三角形の面積は、１番目に短い辺*２番目に短い辺/2で求められる
print(int(a[0] * a[1] / 2))

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

Solution code:
from sys import stdin


def main():
    ab, bc, ca = [int(x) for x in stdin.readline().rstrip().split()]
    print(ab * bc // 2)


if __name__ == "__main__":
    main()

Submission status: Accepted

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

Submission status: Accepted

Solution code:
L = raw_input()
L = L.split()
for i, val in enumerate(L):
    L[i] = int(val)
L.sort()
S = int(L[0] * L[1] / 2)
print(S)

Submission status: Accepted

Solution code:
inline = list(map(int,input().split()))
sortinline = sorted(inline)
ans = sortinline[0] * sortinline[1] * 0.5
print(int(ans))

Submission status: Accepted

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

Submission status: Accepted

Solution code:
A, B, _ = map(int, input().split(" "))

print(A*B//2)

Submission status: Accepted

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

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

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

Solution code:
# import sys
# 
# a = sys.argv[0]
# b = sys.argv[1]
# c = sys.argv[2]
d = input().split()
a = d[0]
b = d[1]

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

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

Solution code:
import sys

"""テンプレ"""

# 高速
input = sys.stdin.readline

# 1行を空白でリストにする(int)
def intline():
    return list(map(int, input().split()))


# 上のstrヴァージョン
def strline():
    return list(map(str, input().split()))


# 1列に並んだ数
def intlines(n):
    return [int(input() for _ in range(n))]


# 上の文字列ヴァージョン
def lines(n):
    return [input() for _ in range(n)]
    

# Union-Find木  http://at274.hatenablog.com/entry/2018/02/02/173000
class UnionFind:
    def __init__(self, n):
        self.par = [i for i in range(n+1)]
        self.rank = [0] * (n+1)

    # 検索
    def find(self, x):
        if self.par[x] == x:
            return x
        else:
            self.par[x] = self.find(self.par[x])
            return self.par[x]

    # 併合
    def union(self, x, y):
        x = self.find(x)
        y = self.find(y)
        if self.rank[x] < self.rank[y]:
            self.par[x] = y
        else:
            self.par[y] = x
            if self.rank[x] == self.rank[y]:
                self.rank[x] += 1

    # 同じ集合に属するか判定
    def same_check(self, x, y):
        return self.find(x) == self.find(y)


# 重み付きのUnion-Find木　http://at274.hatenablog.com/entry/2018/02/03/140504
class WeightedUnionFind:
    def __init__(self, n):
        self.par = [i for i in range(n+1)]
        self.rank = [0] * (n+1)
        # 根への距離を管理
        self.weight = [0] * (n+1)

    # 検索
    def find(self, x):
        if self.par[x] == x:
            return x
        else:
            y = self.find(self.par[x])
            # 親への重みを追加しながら根まで走査
            self.weight[x] += self.weight[self.par[x]]
            self.par[x] = y
            return y

    # 併合
    def union(self, x, y, w):
        rx = self.find(x)
        ry = self.find(y)
        # xの木の高さ < yの木の高さ
        if self.rank[rx] < self.rank[ry]:
            self.par[rx] = ry
            self.weight[rx] = w - self.weight[x] + self.weight[y]
        # xの木の高さ ≧ yの木の高さ
        else:
            self.par[ry] = rx
            self.weight[ry] = -w - self.weight[y] + self.weight[x]
            # 木の高さが同じだった場合の処理
            if self.rank[rx] == self.rank[ry]:
                self.rank[rx] += 1

    # 同じ集合に属するか
    def same(self, x, y):
        return self.find(x) == self.find(y)

    # xからyへのコスト
    def diff(self, x, y):
        return self.weight[x] - self.weight[y]




"""ここからメインコード"""


a, b, _ = intline()
print(a * b // 2)

Submission status: Accepted

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

Submission status: Accepted

Solution code:
import sys

"""テンプレ"""

# 高速
input = sys.stdin.readline

# 1行を空白でリストにする(int)
def intline():
    return list(map(int, input().split()))


# 上のstrヴァージョン
def strline():
    return list(map(str, input().split()))


# 1列に並んだ数
def intlines(n):
    return [int(input() for _ in range(n))]


# 上の文字列ヴァージョン
def lines(n):
    return [input() for _ in range(n)]
    

"""ここからメインコード"""

a, b, _ = intline()
print(a * b // 2)

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

Solution code:
length = list(map(int,input().split()))
print(int(min(length)*(sum(length)-max(length)-min(length))*0.5))

Submission status: Accepted

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

Submission status: Accepted

Solution code:
def run(a):
    return a[0] * a[1] // 2


def main():
    a = list(map(int, input().split()))
    print(run(a))


if __name__ == '__main__':
    main()

Submission status: Accepted

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

Submission status: Accepted

Solution code:
c_2=list(map(int,input().split()))

#a_new =
d=sorted(c_2)
print(int(d[0]*d[1]/2))

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

Solution code:
# -*- coding: utf-8 -*-
a,b,c = sorted(map(int, input().split(' ')), reverse=True)

h = a * b * c / (b**2 + c**2)

print(int(round(a * h / 2)))

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

Solution code:
AB, BC, CD = map(int, input().split())
print (round(AB * BC / 2))

Submission status: Accepted

Solution code:
# -*- coding: utf-8 -*-
a,b,c = map(int, input().split())
print(a*b//2)

Submission status: Accepted

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

Submission status: Accepted

Solution code:
import sys

def parse(inp):
    ab,bc,ca=map(int,next(inp).split())
    return ab,bc
  
def main(inp):
        ab=inp[0]
        bc=inp[1]
        return int(ab*bc/2)
      
print(main(parse(sys.stdin)))

Submission status: Accepted

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

Submission status: Accepted

Solution code:
print (lambda x:(x[0]*x[1])/2)(map(int,raw_input().split(" ")))

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

Solution code:
x,y,z=[int(i) for i in input().split()]
print(int(x*y/2))

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

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

v_max = max(a)
a.remove(v_max)

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

Submission status: Accepted

Solution code:
sides = list(map(int,input().split()))
s1,s2 = sorted(sides)[:2]
print(int(s1*s2/2))

Submission status: Accepted

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

Submission status: Accepted

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

#X = A * B / 2
# 商の整数値（小数点以下を切り捨て）
X = A * B // 2
print(X)

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

Solution code:
def main():
    AB, BC, CA = map(int, input().split())

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


if __name__ == '__main__':
    main()

Submission status: Accepted

Solution code:
#!/usr/bin/env python
# -*- coding: utf-8 -*-

# AtCoder Beginner Contest 116：A - Right Triangle


def main():
    A, B, C = [int(i) for i in raw_input().strip().split(' ')]
    print A*B/2


if __name__ == '__main__':
    main()

Submission status: Accepted

Solution code:
import math
a,b,c=map(float,input().split())
t=(a+b+c)/2
S=math.sqrt(t*(t-a)*(t-b)*(t-c))
print(int(S))

Submission status: Accepted

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

Submission status: Accepted

Solution code:
A,B,C = map(int,input().split())
print(int(0.5*A*B))

Submission status: Accepted

Solution code:
# -*- coding: utf-8 -*-

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

Submission status: Accepted

Solution code:
p = input().split()
k = []
for i in p:
  k.append(int(i))
k.sort()
print(int(k[0]*k[1]/2))

Submission status: Accepted

Solution code:
import math,string,itertools,fractions,heapq,collections,re,array,bisect,sys,random,time,copy,functools

sys.setrecursionlimit(10**7)
inf = 10**20
eps = 1.0 / 10**10
mod = 10**9+7
dd = [(-1,0),(0,1),(1,0),(0,-1)]
ddn = [(-1,0),(-1,1),(0,1),(1,1),(1,0),(1,-1),(0,-1),(-1,-1)]

def LI(): return [int(x) for x in sys.stdin.readline().split()]
def LI_(): return [int(x)-1 for x in sys.stdin.readline().split()]
def LF(): return [float(x) for x in sys.stdin.readline().split()]
def LS(): return sys.stdin.readline().split()
def I(): return int(sys.stdin.readline())
def F(): return float(sys.stdin.readline())
def S(): return input()
def pf(s): return print(s, flush=True)


def main():
    a = sorted(LI())

    return a[0] * a[1] // 2



print(main())

Submission status: Accepted

Solution code:
class RightTriangle:
	def __init__(self,ab,bc,ca):
		self.ab = ab
		self.bc = bc
		self.ca = ca
	def calc_area(self):
		return self.ab*self.bc/2

ab,bc,ca = map(int,raw_input().strip().split())
val = RightTriangle(ab,bc,ca)
print(val.calc_area())

Submission status: Accepted

Solution code:
import sys

wk_line =input().split()
print(int((int(wk_line[0])*int(wk_line[1])/2)))

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

Solution code:
[print(int(_[0]/2)) for _ in [[functools.reduce([operator.mul for operator in [__import__('operator')]][0], [int(i) for i in input().split()][:2]) for functools in [__import__('functools')]]]]

Submission status: Accepted

Solution code:
n, h, m = map(int, input().split(' '))

print(int(n*h/2))

Submission status: Accepted

Solution code:
u,n,k  = [int(i) for i in input().split()]

print(int(u * n * 0.5))

Submission status: Accepted

Solution code:
def solve():
    a, b, _ = map(int, input().split(' '))
    print(int(a*b/2))

if __name__ == "__main__":
    solve()

Submission status: Accepted

Solution code:
import math

def heron(A,B,C):
    s = (A+B+C)/2
    res = math.sqrt(s*(s-A)*(s-B)*(s-C))
    return res
A,B,C = map(int,input().split())
Res = heron(A,B,C)
print(int(Res))

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

Solution code:
input_line = list(map(int,input().split(' ')))

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

Submission status: Accepted

Solution code:
AB,BC,AC = map(int,input().split())

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

Submission status: Accepted

Solution code:
N,M,L = map(int, input().split())
print(int(N*M/2))

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

Solution code:
#!/usr/bin/env python3
A, B, C = map(int, input().split())
print(A * B // 2)

Submission status: Accepted

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

Submission status: Accepted

Solution code:
# -*- coding: utf-8 -*-


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


if __name__ == '__main__':
    main()

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

Solution code:
[print(a*b//2)for a,b,_ in[list(map(int,input().split()))]]

Submission status: Accepted

Solution code:
[print(a*b//2)for a,b,_ in[list(map(int,input().split()))]]

Submission status: Accepted

Solution code:
[print(a*b//2)for a,b in[[int(i) for i in input().split()][:2]]]

Submission status: Accepted

Solution code:
[print(n.prod([int(i)for i in input().split()][:2])//2)for n in[__import__("numpy")]]

Submission status: Accepted

Solution code:
[print(a*b//2) for a,b,_ in [sorted(map(int, input().split()))]]

Submission status: Accepted

Solution code:
[print(n.prod(sorted([int(i) for i in input().split()])[:2])//2)for n in[__import__("numpy")]]

Submission status: Accepted

Solution code:
[print(f.reduce(o.mul,sorted([int(i) for i in input().split()])[:2])//2)for f,o in[[__import__("functools"),__import__("operator")]]]

Submission status: Accepted

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

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

Submission status: Accepted

Solution code:

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

print(a*b//2)

Submission status: Accepted

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

Submission status: Accepted

Solution code:
a, b, c = [int(i) for i in input().split()]
print(a * b * c // max(a, b, c) // 2)

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

Solution code:
import sys
input = sys.stdin.readline

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

Submission status: Accepted

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

print(a*b//2)

Submission status: Accepted

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

a = sorted(a)

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

Submission status: Accepted

Solution code:
#!/mnt/c/Users/moiki/bash/env/bin/python
a,b,c = list(map(int, input().split()))

print(a*b//2)

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

Solution code:
def main() -> None:
    ab, bc, ca = map(int, input().split())
    print(ab * bc // 2)


if __name__ == "__main__":
    main()

Submission status: Accepted

Solution code:
A, B, C = (int(i) for i in input().split())
print(A*B//2)

Submission status: Accepted

Solution code:
a, b, c = [int(_) for _ in input().split()]
print(a * b // 2)

Submission status: Accepted

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

ans = A*B//2
print(ans)

Submission status: Accepted

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

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

Submission status: Accepted

Solution code:
a,b,c = map(int, input().split())
list=[]
list.append(a)
list.append(b)
list.append(c)
list.sort()

x = list[0]*list[1]/2
print(int(x))

Submission status: Accepted

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

Submission status: Accepted

Solution code:
def main():
	l = [int(x) for x in input().split()]
	print(int(l[0] * l[1] * .5))


if __name__ == '__main__':
	main()

Submission status: Accepted

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

Submission status: Accepted

Solution code:
# coding: utf-8
length = list(map(int, input().split()))
length.sort()
area = length[0] * length[1] / 2
print(int(area))

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

Solution code:
d = sorted([i for i in map(int, input().split())])
print(int(d[0] * d[1] / 2))

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

Solution code:
# -*- coding: utf-8 -*-
import sys

def io_generator():
	while True:
		yield raw_input()

#+++++++++++++++++++

def main(io):
	a, b,c= map(int, io.next().split())
	return str((a*b*c)/(2*max(a,b,c)))


#++++++++++++++++++++

if __name__ == "__main__":
	io=io_generator()
	print main(io)

Submission status: Accepted

Solution code:
# -*- coding: utf-8 -*-


if __name__ == '__main__':
    # スペース区切りの整数の入力
    b, c, d = map(int, input().split())
    # b, c = map(int, input().split())
    print(int(b * c / 2.0))

Submission status: Accepted

Solution code:
if __name__ == '__main__':
    s = input()
    a, b, c = map(int, s.split())
    maxvalue = max([a, b, c])

    r = 1
    for i in [a, b, c]:
        if i != maxvalue:
            r *= i
    print(r // 2)

Submission status: Accepted

Solution code:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import array
from bisect import *
from collections import *
import fractions
import heapq 
from itertools import *
import math
import random
import re
import string
import sys

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

Submission status: Accepted

Solution code:
a = [int(i) for i in input().split()] 

s = a[0] * a[1] / 2

print(int(s))

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

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

print(a*b//2)

Submission status: Accepted

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

Submission status: Accepted

Solution code:
a=list(map(int,input().split()))
print((min(a)*(sum(a)-min(a)-max(a))//2))

Submission status: Accepted

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

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

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

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

main()

Submission status: Accepted

Solution code:
s = input().split()

ab = int(s[0])
bc = int(s[1])
ca = int(s[2])

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

print(ans)

Submission status: Accepted

Solution code:
abc = list(map(int, input().split()))

abc.sort()

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

Submission status: Accepted

Solution code:
# -*- coding: utf-8 -*-
AB,BC,_ =map(int, input().split())
ans = AB * BC // 2

print(ans)

Submission status: Accepted

Solution code:
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)

Submission status: Accepted

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

Submission status: Accepted

Solution code:
# Right Triangle
import sys

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

print((AB * BC) // 2)

Submission status: Accepted

Solution code:
data = input().split()
ans = (int(data[0]) * int(data[1]))* (1/2)
print(int(ans))

Submission status: Accepted

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

Submission status: Accepted

Solution code:
length = sorted(map(int, raw_input().split()))
print length[0]*length[1]/2

Submission status: Accepted

Solution code:
#coding:utf-8
len = list(map(int,input().split()))

def return_min(x,y):
  if x > y:
    return y
  else:
    return x

min = len[0]
min_index = 0
if min > len[1]:
  min = len[1]
  min_index = 1
if min > len[2]:
  min = len[2]
  min_index = 2
  
if min_index == 0:
  res = min * return_min(len[1],len[2]) /2
elif min_index == 1:
  res = min * return_min(len[0],len[2]) /2
else:
  res = min * return_min(len[0],len[1]) /2

print(int(res))

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

Solution code:
line = input().split(" ")
ab = int(line[0])
bc = int(line[1])

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

Submission status: Accepted

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

Submission status: Accepted

Solution code:
hen_list = list(map(int,input().split()))
hen_list.sort()

teihen = hen_list[0]
takasa = hen_list[1]

print(int(teihen * takasa / 2))

Submission status: Accepted

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

Submission status: Accepted

Solution code:
A, B, C = (int(x) for x in input().split())

if (A < C) & (B < C):
  print (A*B//2)
elif (A<B) & (C&B):
  print (A*C//2)
else:
  print (B*C//2)

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

Solution code:
def A():
    ab, bc, ca = (int(x) for x in input().split())
    if pow(ab,2) + pow(bc,2) != pow(ca,2):
        print("invalid")
    print(int(ab * bc /2))


if __name__== '__main__':
    A()

Submission status: Accepted

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