n = gets.to_i
def manhattan(a, b)
  (a[0] - b[0]).abs + (a[1] - b[1]).abs
end
points = n.times.map do
  x, y = gets.chomp.split(' ').map(&:to_i)
  [x, y]
end
init = points[0]
farest_i = (1...n).max_by do |i|
  manhattan(init, points[i])
end
farest = points[farest_i]
dist = (0...n).map do |i|
  manhattan(farest, points[i])
end
p dist.max