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 C (GCC 9.2.1) (judge verdict: Wrong Answer)

# include <stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
const int xl=-10000;
const int yl=-10000;
const int xr=10000;
const int yr=-10000;
int max(int a,int b)
{
	if(a<=b)
		return b;
	else
		return a;
}
int min(int a,int b)
{
	if(a<=b)
		return a;
	else
		return b;
}
int main()
{
	int n,i;
	scanf("%d",&n);
    int Max1=-40000, Max2=-40000;
    int Min1=40000, Min2=40000;
    int x, y;
    for(i=0;i<n;i++){
        scanf("%d %d", &x, &y);
        Max1=max(abs(x-xl)+abs(y-yl), Max1);
        Min1=min(abs(x-xl)+abs(y-yl), Min1);
        Max2=max(abs(x-xr)+abs(y-yr), Max2);
        Min2=min(abs(x-xr)+abs(y-yr), Min2);
    }
    int ans=max(Max1-Min1, Max2-Min2);
    printf("%d\n", ans);
	return 0;
}