import java.io.PrintStream
import java.util.*

fun main(args: Array<String>) {
    val sc = Scanner(System.`in`);
    try {
        solve(sc, System.out);
    } finally {
        sc.close();
    }
}

fun solve(sc: Scanner, wr: PrintStream) {
    val N = sc.nextInt()
    val point = (0 until N).map { (sc.nextLong() to sc.nextLong()) }

    val p1 = point.map { it.first + it.second }.sorted()
    val p2 = point.map { it.first - it.second }.sorted()

    val cand1 = (p1.max() ?: 0) - (p1.min() ?: 0)
    val cand2 = (p2.max() ?: 0) - (p2.min() ?: 0)

    wr.println(Math.max(cand1, cand2))
}
