import bisect from itertools import product n = int(input()) m = n // 2 AB = tuple(tuple(map(int, input().split())) for _ in range(n)) A, _ = zip(*AB) sumA = sum(A) X = [0] Y = [0] for a, b in AB[:m]: X.extend([x+a+b for x in X]) for a, b in AB[m:]: Y.extend([y+a+b for y in Y]) Y.sort() ans = 10**18 for x in X: T = sumA - x i = bisect.bisect_left(Y, T) for j in range(-3, 4): if 0 <= i + j < len(Y): ans = min(ans, abs(T - Y[i + j])) print(ans)