output_description: Print the answer.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      a b c d
attempt: N = int(input())
  INF = 10 ** 9
  y_min_pos = [INF, []]
  x_min_pos = [INF, []]
  y_max_pos = [0, []]
  x_max_pos = [0, []]
  for _ in range(N):
      # print(x_min_pos, y_min_pos, y_max_pos, x_max_pos)
      x, y = map(int, input().split())
      if y <= y_min_pos[0]:
          if y == y_min_pos[0]:
              y_min_pos[1].append(x)
          else:
              y_min_pos = [y, [x]]
      if y >= y_max_pos[0]:
          if y == y_max_pos[0]:
              y_max_pos[1].append(x)
          else:
              y_max_pos = [y, [x]]
  
      if x <= x_min_pos[0]:
          if x == x_min_pos[0]:
              x_min_pos[1].append(y)
          else:
              x_min_pos = [x, [y]]
      if x >= x_max_pos[0]:
          if x == x_max_pos[0]:
              x_max_pos[1].append(y)
          else:
              x_max_pos = [x, [y]]
  # print(x_max_pos[1])
  x_min_ymax = max(x_min_pos[1])
  x_max_ymax = max(x_max_pos[1])
  y_min_xmax = max(y_min_pos[1])
  y_max_xmax = max(y_max_pos[1])
  x_min_ymin = min(x_min_pos[1])
  x_max_ymin = min(x_max_pos[1])
  y_min_xmin = min(y_min_pos[1])
  y_max_xmin = min(y_max_pos[1])
  
  y_min_max = max(
      abs(y_min_xmax - x_min_pos[0]) + abs(y_min_pos[0] - x_min_ymax),
      abs(y_min_xmax - y_max_xmin) + abs(y_min_pos[0] - y_max_pos[0]),
      abs(y_min_xmin - x_max_pos[0]) + abs(y_min_pos[0] - x_max_ymax),
      abs(y_min_xmin - y_max_xmax) + abs(y_min_pos[0] - y_max_pos[0]),
  )
  y_max_max = max(
      abs(y_max_xmax - x_min_pos[0]) + abs(y_max_pos[0] - x_min_ymin),
      abs(y_max_xmax - y_min_xmin) + abs(y_max_pos[0] - y_min_pos[0]),
      abs(y_max_xmin - x_max_pos[0]) + abs(y_max_pos[0] - x_max_ymin),
      abs(y_max_xmin - y_max_xmax) + abs(y_max_pos[0] - y_min_pos[0]),
  )
  x_min_max = max(
      abs(x_min_ymax - y_min_pos[0]) + abs(x_min_pos[0] - y_min_xmax),
      abs(x_min_ymax - x_max_ymin) + abs(x_min_pos[0] - x_max_pos[0]),
      abs(x_min_ymin - y_max_pos[0]) + abs(x_min_pos[0] - y_max_xmax),
      abs(x_min_ymin - x_max_ymax) + abs(x_min_pos[0] - x_max_pos[0]),
  )
  x_max_max = max(
      abs(x_max_ymax - y_min_pos[0]) + abs(x_max_pos[0] - y_min_xmin),
      abs(x_max_ymax - x_min_ymin) + abs(x_max_pos[0] - x_min_pos[0]),
      abs(x_max_ymin - y_max_pos[0]) + abs(x_max_pos[0] - y_max_xmin),
      abs(x_max_ymin - x_min_ymax) + abs(x_max_pos[0] - x_min_pos[0]),
  )
  print(max(y_min_max, y_max_max, x_min_max, x_max_max))
  
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"}]