N = int(input()) AB = [list(map(int, input().split())) for _ in range(N)] INF = 2 * 10 ** 4 NB = 1 << N dp = [[INF] * N for _ in range(NB)] for i in range(N): dp[1 << i][i] = 0 for S in range(1, NB): for v in range(N): for u in range(N): if u == v: continue if (S >> v & 1) and not (S >> u & 1): dp[S | 1 << u][u] = min(dp[S | 1 << u][u], max(dp[S][v], AB[v][1] - AB[v][0] + AB[u][0])) print(min(dp[NB - 1]))