import heapq def solve(): N = int(input()) A = list(map(int, input().split())) B = list(map(int, input().split())) z = [0] * 1500 def sim(p, mi): ms = list(zip(A, z)) heapq.heapify(ms) for j in range(p, p + N): k = j % N nl = ms[0][0] + B[k] // 2 if ms[0][1] >= mi: return float('inf') heapq.heapreplace(ms, (nl, ms[0][1] + 1)) return max(m[1] for m in ms) mi = float('inf') for i in range(N): mi = min(mi, sim(i, mi)) print(mi) if __name__ == '__main__': solve()