output_description: Print the answer.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
      x_1 y_1
      x_2 y_2
      :
      x_N y_N
attempt: import sys
  
  input = sys.stdin.readline
  
  
  def main(args):
      n = int(input())
  
      minx = float("inf")
      maxx = 0
      miny = float("inf")
      maxy = 0
  
      place = []
      for i in range(n):
          x, y = map(int, input().split())
          minx = min(minx, x)
          maxx = max(maxx, x)
          miny = min(miny, y)
          maxy = max(maxy, y)
          place.append((x, y))
  
      Minx = []
      Maxx = []
      Miny = []
      Maxy = []
  
      for x, y in place:
          if x == minx:
              Minx.append((x, y))
          elif x == maxx:
              Maxx.append((x, y))
          if y == miny:
              Miny.append((x, y))
          elif y == maxy:
              Maxy.append((x, y))
  
      if not Maxx:
          print(maxy - miny)
          exit()
      if not Maxy:
          print(maxx - minx)
          exit()
  
      ans = 0
      for i in range(len(Maxx)):
          xi, yi = Maxx[i]
          for j in range(len(Minx)):
              xj, yj = Minx[j]
              tmp = abs(xi - xj) + abs(yi - yj)
              ans = max(tmp, ans)
  
      for i in range(len(Maxx)):
          xi, yi = Maxx[i]
          for j in range(len(Miny)):
              xj, yj = Miny[j]
              tmp = abs(xi - xj) + abs(yi - yj)
              ans = max(tmp, ans)
  
      for i in range(len(Maxy)):
          xi, yi = Maxy[i]
          for j in range(len(Miny)):
              xj, yj = Miny[j]
              tmp = abs(xi - xj) + abs(yi - yj)
              ans = max(ans, tmp)
  
      for i in range(len(Maxy)):
          xi, yi = Maxy[i]
          for j in range(len(Minx)):
              xj, yj = Minx[j]
              tmp = abs(xi - xj) + abs(yi - yj)
              ans = max(ans, tmp)
  
      for i in range(len(Maxx)):
          xi, yi = Maxx[i]
          for j in range(len(Maxy)):
              xj, yj = Maxy[j]
              tmp = abs(xi - xj) + abs(yi - yj)
              ans = max(tmp, ans)
  
      for i in range(len(Minx)):
          xi, yi = Minx[i]
          for j in range(len(Miny)):
              xj, yj = Miny[j]
              tmp = abs(xi - xj) + abs(yi - yj)
              ans = max(tmp, ans)
  
      print(ans)
  
  
  if __name__ == "__main__":
      main(sys.argv[1:])
  
problem_description: Statement
  
  There are N points on the 2D plane, i-th of which is located on (x_i, y_i).
  There can be multiple points that share the same coordinate. What is the
  maximum possible Manhattan distance between two distinct points?
  
  Here, the _Manhattan distance_ between two points (x_i, y_i) and (x_j, y_j) is
  defined by |x_i-x_j| + |y_i-y_j|.
samples: [{"input": "3\n    1 1\n    2 4\n    3 2", "output": "4\n    \n\nThe Manhattan distance between the first point and the second point is\n|1-2|+|1-4|=4, which is maximum possible.\n\n* * *"}, {"input": "2\n    1 1\n    1 1", "output": "0"}]