N = gets.to_i
xy = N.times.map { gets.split.map(&:to_i) }

min_x = min_y = 10 ** 9 + 1

max_x = max_y = 0

points = {}

xy.each do |(x, y)|
  if x < min_x
    min_x = x
    points[:min_x] = [x, y]
  end
  if y < min_y
    min_y = y
    points[:min_y] = [x, y]
  end
  if max_x < x
    max_x = x
    points[:max_x] = [x, y]
  end
  if max_y < y
    max_y = y
    points[:max_y] = [x, y]
  end
end

puts points.values.combination(2).map {|xy1, xy2|
  (xy1[0] - xy2[0]).abs + (xy1[1] - xy2[1]).abs
}.max