Problem:
Score : 500 points

Problem 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|.

Constraints

2 \leq N \leq 2 \times 10^5

1 \leq x_i,y_i \leq 10^9

All values in input are integers.

Input

Input is given from Standard Input in the following format:

N
x_1 y_1
x_2 y_2
:
x_N y_N

Output

Print the answer.

Sample Input 1

3
1 1
2 4
3 2

Sample Output 1

4

The Manhattan distance between the first point and the second point is |1-2|+|1-4|=4, which is maximum possible.

Sample Input 2

2
1 1
1 1

Sample Output 2

0

Solution in Ruby (2.7.1) (judge verdict: Wrong Answer)

n = gets.to_i

max = 0
arr = []
x, y = gets.split(" ").map(&:to_i)
8.times { arr << [x, y] }

(n-1).times do
  x, y = gets.split(" ").map(&:to_i)
  # N
  xx, yy = arr[0]
  if y > yy
    arr[0] = [x, y]
  end
  # NE
  xx, yy = arr[1]
  if y > yy || x > xx 
    arr[1] = [x, y]
  end
  # E
  xx, yy = arr[2]
  if x > xx
    arr[2] = [x, y]
  end
  # SE
  xx, yy = arr[3]
  if y < yy || x > xx 
    arr[3] = [x, y]
  end
  # S
  xx, yy = arr[4]
  if y < yy 
    arr[4] = [x, y]
  end
  # SW
  xx, yy = arr[5]
  if y < yy || x < xx 
    arr[5] = [x, y]
  end
  # W
  xx, yy = arr[6]
  if x < xx
    arr[6] = [x, y]
  end
  # NW
  xx, yy = arr[7]
  if y > yy || x < xx 
    arr[7] = [x, y]
  end
end

max = 0
arr.each do |x, y|
  arr.each do |xx, yy|
    dist = (x - xx).abs + (y - yy).abs
    max = dist if max < dist
  end
end

puts max