output_description: Print the answer.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      a b c d
attempt: nums = [int(x) for x in input().split()]
  
  sign = [0] * 4
  for x in range(4):
      if nums[x] < 0:
          sign[x] = 1
  
  result = min(nums[0:2]) * min(nums[2:])
  
  if sum(sign) == 1 or sum(sign) == 0:
      result = max(nums[0:2]) * max(nums[2:])
  
  if sum(sign) == 2:
      if (sign[0] == 1 and sign[1]) or (sign[2] == 1 and sign[3] == 1):
          if sign[0] == 1:
              result = max(nums[0:2]) * min(nums[2:])
          elif sign[2] == 1:
              result = min(nums[0:2]) * max(nums[2:])
      else:
          result = nums[1] * nums[3]
  
  print(result)
  
problem_description: Statement
  
  Given are integers a,b,c and d. If x and y are integers and a \leq x \leq b
  and c\leq y \leq d hold, what is the maximum possible value of x \times y?
samples: [{"input": "1 2 1 1", "output": "2\n    \n\nIf x = 1 and y = 1 then x \\times y = 1. If x = 2 and y = 1 then x \\times y =\n2. Therefore, the answer is 2.\n\n* * *"}, {"input": "3 5 -4 -2", "output": "-6\n    \n\nThe answer can be negative.\n\n* * *"}, {"input": "-1000000000 0 -1000000000 0", "output": "1000000000000000000"}]