fun main() {
  val N = readInt()
  val XY = (1..N).map { readInts() }
  val xPlusYMax = XY.map { (x, y) -> x + y }.max()!!
  val xPlusYMin = XY.map { (x, y) -> x + y }.min()!!
  val xMinusYMax = XY.map { (x, y) -> x - y }.max()!!
  val xMinusYMin = XY.map { (x, y) -> x - y }.min()!!
  println(Math.max(xPlusYMax - xPlusYMin, xMinusYMax - xMinusYMin))
}

fun readString() = readLine()!!
fun readStrings() = readString().split(" ")
fun readInt() = readString().toInt()
fun readLong() = readString().toLong()
fun readInts() = readStrings().map { it.toInt() }
fun readLongs() = readStrings().map { it.toLong() }
