def main():

    point_count = int(eval(input()))

    sums = set()

    diffs = set()

    for _ in range(point_count):

        x, y = [int(x) for x in input().split()]

        sums.add(x + y)

        diffs.add(x - y)

    pat_sum = max(sums) - min(sums)  # max (Xi + Yi) - (Xj + Yj)

    pat_diff = max(diffs) - min(diffs)  # max (Xi - Yi) - (Xj - Yj)

    return max(pat_sum, pat_diff)





if __name__ == '__main__':

    print((main()))

def main():

    point_count = int(eval(input()))

    sums = []

    diffs = []

    for _ in range(point_count):

        x, y = [int(x) for x in input().split()]

        sums.append(x + y)

        diffs.append(x - y)

    pat_sum = max(sums) - min(sums)  # max (Xi + Yi) - (Xj + Yj)

    pat_diff = max(diffs) - min(diffs)  # max (Xi - Yi) - (Xj - Yj)

    return max(pat_sum, pat_diff)





if __name__ == '__main__':

    print((main()))

def main():
    point_count = int(eval(input()))
    sums = set()
    diffs = set()
    for _ in range(point_count):
        x, y = [int(x) for x in input().split()]
        sums.add(x + y)
        diffs.add(x - y)
    pat_sum = max(sums) - min(sums)  # max (Xi + Yi) - (Xj + Yj)
    pat_diff = max(diffs) - min(diffs)  # max (Xi - Yi) - (Xj - Yj)
    return max(pat_sum, pat_diff)


if __name__ == "__main__":
    print((main()))

def main():
    point_count = int(eval(input()))
    sums = []
    diffs = []
    for _ in range(point_count):
        x, y = [int(x) for x in input().split()]
        sums.append(x + y)
        diffs.append(x - y)
    pat_sum = max(sums) - min(sums)  # max (Xi + Yi) - (Xj + Yj)
    pat_diff = max(diffs) - min(diffs)  # max (Xi - Yi) - (Xj - Yj)
    return max(pat_sum, pat_diff)


if __name__ == "__main__":
    print((main()))

-    sums = set() -    diffs = set() +    sums = [] +    diffs = [] -        sums.add(x + y) -        diffs.add(x - y) +        sums.append(x + y) +        diffs.append(x - y)