from bisect import bisect_left INF = 1 << 60 N = int(input()) snacks = [] for _ in range(N): A, B = map(int, input().split()) snacks.append((A, B)) def f(xs): n = len(xs) d = set() for i in range(1 << n): a = b = 0 for j in range(n): if i & (1 << j): a += xs[j][0] else: b += xs[j][1] d.add(a - b) return d xs = f(snacks[:N//2]) ys = sorted(list(f(snacks[N//2:]))) ans = INF for x in xs: p = bisect_left(ys, -x) for i in [p-1, p, p+1]: if 0 <= i < len(ys): ans = min(ans, abs(x + ys[i])) print(ans)