az = gets.split(' ').map(&:to_i)
ac = az[0] * az[2]
ad = az[0] * az[3]
bc = az[1] * az[2]
bd = az[1] * az[3]
ans = ac
if ans < ad then ans = ad end
if ans < bc then ans = bc end
if ans < bd then ans = bd end
puts ans