a, b, c, d = gets.strip.split.map(&:to_i)

if a >= 0 && c >= 0
  puts b * d
elsif b <= 0 && d <= 0
  puts a * c
elsif (a < 0 && b > 0) && (c < 0 && d > 0)
  if a * c < b * d
    puts b * d
  else
    puts a * c
  end
elsif (a < 0 && b > 0) || (c < 0 && d > 0)
  if a < 0
    puts b * d
  else
    puts
  end
elsif b <= 0 && c >= 0
  puts b * c
else
  puts a * d
end
