line = gets.split(' ').map(&:to_i)
f = line[0,2]
s = line[2,2]

line.reject!{|x| x == 0}
f.reject!{|x| x == 0}
s.reject!{|x| x == 0}

if line.all?{|i| i > 0}
  a = f.max * s.max
elsif f.all?{|i| i < 0} && s.all?{|i| i > 0}
  a = f.max * s.min
elsif f.all?{|i| i > 0} && s.all?{|i| i < 0}
  a = f.min * s.max
else
  a = f.min * s.min
end

puts a