#include <stdio.h>
#include <stdlib.h>
#define inf 2000000000
#define abs(a) ((a<0)?-a:a)
long n,x[205],y[205],ind[205];
long dmax;
int comp(const void * n1, const void * n2){
return (x[*((long*)n1)]-x[*((long*)n2)]);
}
void dist(long d, long xx, long yy, long st, long dr){
if (st<=dr){
long i,ma=0,min,p;
for (i=st;i<=dr;i++)
if (abs((xx-x[ind[i]]))+y[ind[i]]>ma)ma=abs((xx-x[ind[i]]))+y[ind[i]];
ma/=2;
min=inf;p=0;
for (i=st;i<=dr;i++)
if (abs((abs((xx-x[ind[i]]))+y[ind[i]]-ma))<min){
min=abs((xx-x[ind[i]]))+y[ind[i]];
p=i;
}
dist(d+yy+abs((xx-x[ind[p]]))+y[ind[p]], x[ind[p]], y[ind[p]],p+1,dr);
dist(d+yy+abs((xx-x[ind[p]]))+y[ind[p]], x[ind[p]], y[ind[p]],st,p-1);
}
else if (d>dmax)dmax=d;
}
int main(){
freopen("wanted.in","r",stdin);
freopen("wanted.out","w",stdout);
long i,p,min=inf;
scanf("%ld",&n);
for (i=1;i<=n;i++){
scanf("%ld %ld",&x[i],&y[i]);
ind[i]=i;
}
qsort(ind+1,n,sizeof(long),comp);
for (i=1;i<=n;i++)
if (abs(x[ind[i]])+y[ind[i]]<min){p=i;min=abs(x[ind[i]])+y[ind[i]];}
dist(abs(x[ind[p]])+y[ind[p]],x[ind[p]],y[ind[p]],p+1,n);
dist(abs(x[ind[p]])+y[ind[p]],x[ind[p]],y[ind[p]],1,p-1);
printf("%ld\n",dmax);
return 0;
}