program ABC116A
    implicit none
    integer(8)::i
    integer(8),dimension(3)::A
    read(5,*)(A(i),i=1,3)
    A=iqsort(A)
    print'(i0)',A(1)*A(2)/2

contains
    recursive function iqsort(ix) result(ires)
      integer(8), allocatable :: ires(:)
      integer(8), intent(in)  :: ix(:)
      integer :: k
      if (size(ix) <= 1) then 
        ires = ix
      else  
        k = ix(size(ix) / 2)
        ires = [iqsort(pack(ix, ix < k)), pack(ix, ix == k), iqsort(pack(ix, ix > k))] 
      end if
    end function iqsort
end program ABC116A