import bisect from itertools import product n = int(input()) if n == 1: a, b = map(int, input().split()) print(min(a, b)) exit() A = tuple(tuple(map(int, input().split())) for _ in range(n)) def enum(X): res = [] for pair in product(range(2), repeat=len(X)): val = 0 for p, (x, y) in zip(pair, X): if p == 0: val += x else: val -= y res.append(val) return res X = enum(A[:n // 2]) Y = enum(A[n // 2:]) Y.sort() def C(m): for x in X: l = bisect.bisect_left(Y, x - m) r = bisect.bisect_right(Y, x + m) if l != r: return True l = bisect.bisect_left(Y, -x - m) r = bisect.bisect_right(Y, -x + m) if l != r: return True return False l = -1 r = 10 ** 12 while r - l > 1: m = (r + l) // 2 if C(m): r = m else: l = m print(r)