n = gets.to_i

m = 10**9 + 1
lt = [m, 0]
lb = [m, m]
rt = [0, 0]
rb = [0, m]
l = [m, 0]
r = [0, 0]
t = [0, 0]
b = [0, m]

n.times do
  x, y = gets.chomp.split.map(&:to_i)
  lt = [x, y] if x <= lt[0] && y >= lt[1]
  lb = [x, y] if x <= lb[0] && y <= lb[1]
  rt = [x, y] if x >= rt[0] && y >= rt[1]
  rb = [x, y] if x >= rb[0] && y <= rb[1]

  l = [x, y] if x < l[0]
  r = [x, y] if x > r[0]
  t = [x, y] if y > t[1]
  b = [x, y] if y < b[1]
end

def len(a, b)
  (a[0] - b[0]).abs + (a[1] - b[1]).abs
end

r = [
  len(lt, lb),
  len(lt, rt),
  len(lt, rb),
  len(lt, l),
  len(lt, r),
  len(lt, t),
  len(lt, b),

  len(lb, rt),
  len(lb, rb),
  len(lb, l),
  len(lb, r),
  len(lb, t),
  len(lb, b),

  len(rt, rb),
  len(rt, l),
  len(rt, r),
  len(rt, t),
  len(rt, b),

  len(rb, l),
  len(rb, r),
  len(rb, t),
  len(rb, b),

  len(l, r),
  len(l, t),
  len(l, b),

  len(r, t),
  len(r, b),

  len(t, b),
].max

puts r
