n = int(input()) A = list(map(int, input().split())) B = list(map(int, input().split())) min_result = float('inf') for start in range(n): current_A = A.copy() used = [False] * n count = [0] * n for i in range(n): enemy_idx = (start + i) % n enemy_level = B[enemy_idx] min_level = min(current_A) candidates = [] available = [] for j in range(n): if current_A[j] == min_level: candidates.append(j) if not used[j]: available.append(j) if available: chosen = min(available) else: chosen = min(candidates) count[chosen] += 1 current_A[chosen] += enemy_level // 2 used[chosen] = True current_max = max(count) if current_max < min_result: min_result = current_max print(min_result)