from heapq import * def f(x, y): return x * (N + 1) + y def g(v): return v // (N + 1), v % (N + 1) N = int(input()) A = list(map(int, input().split())) B = list(map(int, input().split())) B = B + B ans = 10 ** 18 for i in range(N): H = [] for j in range(N): heappush(H, f(A[j], 0)) for j in range(i, i + N): nx, ny = g(heappop(H)) ny += 1 nx += B[j]//2 heappush(H, f(nx, ny)) temp = 0 for v in H: x, y = g(v) temp = max(temp, y) ans = min(ans, temp) print(ans)