import sys

def main():
    input = sys.stdin.read().split()
    n = int(input[0])
    xs = []
    ys = []
    idx = 1
    for _ in range(n):
        x = int(input[idx])
        y = int(input[idx + 1])
        xs.append(x)
        ys.append(y)
        idx += 2
    
    s = [xs[i] + ys[i] for i in range(n)]
    d = [xs[i] - ys[i] for i in range(n)]
    
    max_s = max(s)
    min_s = min(s)
    max_d = max(d)
    min_d = min(d)
    
    # Define the four sorted lists
    # sorted_x is indices sorted by x, then y
    sorted_x = sorted(range(n), key=lambda i: (xs[i], ys[i]))
    sorted_y = sorted(range(n), key=lambda i: (ys[i], xs[i]))
    sorted_s = sorted(range(n), key=lambda i: (s[i], xs[i]))
    sorted_d = sorted(range(n), key=lambda i: (d[i], xs[i]))
    
    # Build position arrays
    pos_x = [0] * n
    for idx_list, original_i in enumerate(sorted_x):
        pos_x[original_i] = idx_list
    pos_y = [0] * n
    for idx_list, original_i in enumerate(sorted_y):
        pos_y[original_i] = idx_list
    pos_s = [0] * n
    for idx_list, original_i in enumerate(sorted_s):
        pos_s[original_i] = idx_list
    pos_d = [0] * n
    for idx_list, original_i in enumerate(sorted_d):
        pos_d[original_i] = idx_list
    
    k = 5
    min_distances = [float('inf')] * n
    
    for i in range(n):
        current_min = float('inf')
        for sorted_list, pos in [(sorted_x, pos_x), (sorted_y, pos_y), (sorted_s, pos_s), (sorted_d, pos_d)]:
            p = pos[i]
            start = max(0, p - k)
            end = min(len(sorted_list) - 1, p + k)
            for idx in range(start, end + 1):
                j = sorted_list[idx]
                if j == i:
                    continue
                current_dist = abs(xs[i] - xs[j]) + abs(ys[i] - ys[j])
                if current_dist < current_min:
                    current_min = current_dist
        min_distances[i] = current_min
    
    min_p = float('inf')
    for i in range(n):
        a = max_s - s[i]
        b = s[i] - min_s
        c = max_d - d[i]
        d_i = d[i] - min_d
        current_max = max(a, b, c, d_i)
        current_p = abs(current_max - min_distances[i])
        if current_p < min_p:
            min_p = current_p
    
    print(min_p)

if __name__ == '__main__':
    main()